配置要記錄的歷史資料
完整記錄歷史資料可能會造成嚴重的效能問題。因此,當部署建構區塊時,會停用歷史資料的完整記錄。歷史資料的記錄僅限於其他功能所需的動作。依預設,唯一需要記錄的歷史資料是工作定義在建立及更新時的執行狀況。
您可以配置在停用完整記錄時將記錄的有限動作集
* 
請注意,如果您選擇啟用完整記錄,可能會產生重大效能問題。
配置有限動作集
欲配置當禁用歷史資料全面性記錄時所記錄的有限動作集,請完成下列步驟:
1. 建立從 PTC.DBConnection 建構區塊延伸出來的新建構區塊。
欲建立新建構區塊,請完成下列步驟:
a. 建立新專案。針對您的專案使用具唯一性的前綴,例如您的公司名稱。對於 PTC 遞送的實體,保留 PTC 前綴。在此範例中,建立名為 MyCompany.DBConnection 的專案。針對您為此建構區塊建立的每個新物件、物範本或其他實體,在 ThingWorx Composer 中,於實體的「一般資訊」中將您的新專案新增為「專案」值。
b. 在您使用 PTC.DefaultConfiguration.EntryPoint_TT 作為其 「基礎物範本」的專案中建立新物範本。針對此範例,將新物範本命名為 MyCompany.DBConnection.EntryPoint_TT
c. 在使用於步驟 1.b 中建立的物範本作為其「基礎物範本」的專案中建立新物件。針對此範例,將新物件命名為 MyCompany.DBConnection.EntryPoint
d. 在您使用從 PTC 建構區塊延伸出來的管理員物範本作為其「基礎物範本」的專案中建立新物範本。針對此範例,將新物範本命名為 MyCompany.DBConnection.HistoricalDataManager_TT 並使用 PTC.DBConnection.HistoricalDataManager_TT 作為其「基礎物範本」
e. 在使用於步驟 1.d 中建立的物範本作為其「基礎物範本」的專案中建立新物件。針對此範例,將新物件命名為 MyCompany.DBConnection.Manager 並使用 MyCompany.DBConnection.HistoricalDataManager_TT 作為其「基礎物範本」
* 
PTC.DBConnection 建構區塊包含多個管理員物範本與物件。您可在 PTC.DBConnection.HistoricalDataManager_TT 中找到要在此程序中取代的服務。請務必使用此管理員物範本作為您在此步驟中建立之新物範本的「基礎物範本」,而不是使用 PTC.DBConnection 建構區塊中的其他管理員物範本之一。
2. 將所有組態從原始建構區塊中的管理員物件新增至新建構區塊中的管理員物件。
a. 導覽至您在步驟 1.e 中建立的管理員物件,在此範例中為 MyCompany.DBConnection.HistoricalDataManager
b. 「組態」下,新增在原始建構區塊管理員物件的「組態」頁中找到的相同組態,在此範例中為 PTC.DBConnection.HistoricalDataManager
3. 將您的新建構區塊的管理員物件註冊為要取代從您的建構區塊延伸出來的 PTC 建構區塊中之管理員使用的管理員。
a. 導覽至 PTC.Base.Manager 物件。
b. 「組態」之下找到 DefaultGlobalManagerConfiguration 組態表。
c. 按一下列的 編輯圖示。,其中列的 managerThingName 值應符合您的建構區塊延伸自之 PTC 建構區塊的管理員。
在此範例中,按一下列的 編輯圖示。,其中列的 managerThingName 值為 PTC.DBConnection.HistoricalDataManager
d. 在編輯視窗中,將 manageThingName 欄位設定為您在步驟 1.e 中建立之建構區塊的管理員物件名稱。
e. 按一下「設定」以設定新值。
f. 按一下「儲存」,儲存 PTC.Base.Manager 物件的變更。
4. ThingWorx Composer 中,導覽至您在步驟 1.d 中建立之新建構區塊的歷史資料管理員物範本,在此範例中為 MyCompany.DBConnection.HistoricalDataManager_TT
5. 「服務」下,尋找並取代 GetHistoricalDataLogConfig 服務。
6. 在指令集編輯器中,請在指定的自訂組態區域中針對要記錄的每個額外事件新增一個項目。
* 
如果在不瞭解對其他功能影響的情況下建立或更新工作定義 (PTC.SCA.SCO.WorkDefinition),請勿變更或移除記錄 ExecutionStatus 欄位值的預設組態項目。
項目使用下列格式:
addLoggingConfiguration("<Data_Shape>", "<field>", "<action>");
針對每個 <動作>,可能的 <欄位> 值為:
CREATE - 欄位的名稱、ALL 或無
UPDATE - 欄位的名稱,或 ALL
DELETE - 無
下表提供可記錄之不同事件的範例項目:
要記錄的事件
範例項目
建立實體 (資料庫表格中新增一列)
addLoggingConfiguration("PTC.SCA.SCO.WorkDefinition", "CREATE");
建立實體及每個欄位的初始值 (資料庫表格中新增一列,而且在新增列時每個欄位都有一個值)
addLoggingConfiguration("PTC.SCA.SCO.WorkDefinition", "ALL", "CREATE");
在建立實體時特定欄位的初始值 (為資料庫表格新增列時,指定的欄位具有值)
addLoggingConfiguration("PTC.SCA.SCO.JobOrder", "ID", "CREATE");
更新特定欄位的值 (資料庫表格中的指定欄位值會變更)
addLoggingConfiguration("PTC.SCA.SCO.JobOrder", "PlannedEndTime", "UPDATE");
更新所有欄位值 (資料庫表格中的任何欄位值都會變更)
addLoggingConfiguration("PTC.SCA.SCO.JobOrder", "ALL", "UPDATE");
刪除實體 (從資料庫表格中移除一列)
addLoggingConfiguration("PTC.SCA.SCO.JobOrder", "DELETE");
7. 按一下「完成」,然後按一下「儲存」來儲存更新後的服務。
啟用歷史資料的完整記錄
欲啟用歷史資料的完整記錄,請完成下列步驟:
* 
如果您之前已完成步驟 1 到 3 的動作,則不需要重複這些步驟。請直接跳到步驟 4。
1. 建立從 PTC.DBConnection 建構區塊延伸出來的新建構區塊。
欲建立新建構區塊,請完成下列步驟:
a. 建立新專案。針對您的專案使用具唯一性的前綴,例如您的公司名稱。對於 PTC 遞送的實體,保留 PTC 前綴。在此範例中,建立名為 MyCompany.DBConnection 的專案。針對您為此建構區塊建立的每個新物件、物範本或其他實體,在 ThingWorx Composer 中,於實體的「一般資訊」中將您的新專案新增為「專案」值。
b. 在您使用 PTC.DefaultConfiguration.EntryPoint_TT 作為其 「基礎物範本」的專案中建立新物範本。針對此範例,將新物範本命名為 MyCompany.DBConnection.EntryPoint_TT
c. 在使用於步驟 1.b 中建立的物範本作為其「基礎物範本」的專案中建立新物件。針對此範例,將新物件命名為 MyCompany.DBConnection.EntryPoint
d. 在您使用從 PTC 建構區塊延伸出來的管理員物範本作為其「基礎物範本」的專案中建立新物範本。針對此範例,將新物範本命名為 MyCompany.DBConnection.HistoricalDataManager_TT 並使用 PTC.DBConnection.HistoricalDataManager_TT 作為其「基礎物範本」
* 
PTC.DBConnection 建構區塊包含多個管理員物範本與物件。您可在 PTC.DBConnection.HistoricalDataManager_TT 中找到要在此程序中取代的服務。請務必使用此管理員物範本作為您在此步驟中建立之新物範本的「基礎物範本」,而不是使用 PTC.DBConnection 建構區塊中的其他管理員物範本之一。
e. 在使用於步驟 1.d 中建立的物範本作為其「基礎物範本」的專案中建立新物件。針對此範例,將新物件命名為 MyCompany.DBConnection.HistoricalDataManager 並使用 MyCompany.DBConnection.HistoricalDataManager_TT 作為其「基礎物範本」
2. 將所有組態從原始建構區塊中的管理員物件新增至新建構區塊中的管理員物件。
a. 導覽至您在步驟 1.e 中建立的管理員物件,在此範例中為 MyCompany.DBConnection.HistoricalDataManager
b. 「組態」下,新增在原始建構區塊管理員物件的「組態」頁中找到的相同組態,在此範例中為 PTC.DBConnection.HistoricalDataManager
3. 將您的新建構區塊的管理員物件註冊為要取代從您的建構區塊延伸出來的 PTC 建構區塊中之管理員使用的管理員。
a. 導覽至 PTC.Base.Manager 物件。
b. 「組態」之下找到 DefaultGlobalManagerConfiguration 組態表。
c. 按一下列的 編輯圖示。,其中列的 managerThingName 值應符合您的建構區塊延伸自之 PTC 建構區塊的管理員。
在此範例中,按一下列的 編輯圖示。,其中列的 managerThingName 值為 PTC.DBConnection.HistoricalDataManager
d. 在編輯視窗中,將 manageThingName 欄位設定為您在步驟 1.e 中建立之建構區塊的管理員物件名稱。
e. 按一下「設定」以設定新值。
f. 按一下「儲存」,儲存 PTC.Base.Manager 物件的變更。
4. ThingWorx Composer 中,導覽至您在步驟 1.d 中建立之新建構區塊的歷史資料管理員物範本,在此範例中為 MyCompany.DBConnection.HistoricalDataManager_TT
5. 「服務」下,尋找並取代 LogHistoricalData 服務。
6. 在指令集編輯器中,將 false 設定變更為 true:
var result = true;
7. 按一下「完成」,然後按一下「儲存」來儲存更新後的服務。
這是否有幫助?