使用 Solution Central 升級建構區塊
欲使用 Solution Central 將建構區塊從 1.1 升級至 1.2,請完成下列各部份中的步驟:
* 
PTC 建議您先對測試系統執行升級,然後再移至生產系統。
Solution Central 是用來在 ThingWorx 環境之間移動部署與自訂的建議工具,例如從測試環境移動到生產環境。如需詳細資訊,請參閱 ThingWorx Solution Central Help Center
開始升級流程前
在開始升級流程之前,請先檢閱下列資訊:
「ThingWorx 說明中心」的 ThingWorx 9.3 系統需求
「ThingWorx 說明中心」的升級 ThingWorx
建構區塊的自訂受到升級流程的影響。若需進一步資訊,可參閱 自訂與升級
升級 ThingWorx 前
升級 ThingWorx 之前,請完成下列步驟:
如果您已自訂任何建構區塊,請備份您的自訂。
因為升級期間當地語系化表會被覆寫。若已在任何當地語系化表中自訂權杖,請在執行升級之前匯出自訂當地語系化表。可在升級完成後匯入先前匯出的當地語系化表,以保留您的修改。
升級 ThingWorx
請完成下列步驟:
1. 升級您的 ThingWorx 安裝。如需詳細資訊,請參閱「ThingWorx 說明中心」的升級 ThingWorx
有關與 1.2 建構區塊發行版本相容之 ThingWorx 發行版本的資訊,請參閱系統需求
2. 重新啟動 ThingWorx 伺服器。
升級建構區塊之前
在升級建構區塊之前,請先檢閱下列資訊並執行任何必要的動作:
在升級中,使用建構區塊建立的任何應用程式都將無法使用,這表示在該時間內無法輸入生產資料。PTC 建議您先對測試系統執行升級,然後再升級生產系統。這可幫助確定生產系統將在多長時間內無法使用。
執行升級之前,請先增加指令集逾時設定的持續時間。完成升級後,可將此設定恢復為其之前的值。欲更新指令集超時設定,ThingWorx 管理員必須完成下列步驟:
1. ThingWorx 伺服器,導覽至 ThingWorxPlatform 資料夾。
2. 在文字編輯器中開啟 platform-settings.json 檔案。
3. 尋找並將 ScriptTimeout 的設定更新為 12000。
4. 儲存並關閉 platform-settings.json 檔案。
5. 重新啟動 ThingWorx 伺服器。
* 
如果您的指令集記錄檔中出現類似下列的訊息,請重複上述步驟來進一步增加 ScriptTimeout 設定:
[message: Execution of Script terminated after : 12000 seconds. Timeout configured for 12000 seconds.]
如需詳細資訊,請參閱 ThingWorx 說明中心中的「platform-settings.json 組態設定詳細資訊」
匯入建構區塊
欲升級建構區塊,請完成下列步驟:
1. 使用 Solution Central 部署新版建構區塊。
* 
如果要在 ThingWorx HA 系統上部署建構區塊,則建議將該叢集下移至單一實例,安裝延伸功能,然後再擴展叢集備份。這將會提高性能並防止最終一致性問題,因為每個伺服器會在啟動時載入新的延伸功能。如需詳細資訊,請參閱 ThingWorx 說明中心的管理 ThingWorx HA 中的 ThingWorx 延伸功能
欲使用解決方案中心將建構區塊部署至您的 ThingWorx 實例,ThingWorx 管理員必須完成下列步驟:
a. 請確保在 ThingWorx Composer 中安裝了您的授權。如需詳細資訊,請參閱 PTC 知識庫中的此技術支援文章
b. 設定 Solution Central。如需詳細資訊,請參閱 Solution Central 說明中心的 Getting Started with Using Solution Central
c. 在 Solution Central 註冊您的 ThingWorx 實例。如需詳細資訊,請參閱 Solution Central 說明中心的 Register Your ThingWorx Instance
d. ThingWorx Composer 中,導覽至「管理」 > Solution Central > 「PTC 解決方案」
e. 選取您要部署之建構區塊的核取方塊。可用的建構區塊集如下:
Manufacturing Building Blocks
f. 按一下「一鍵部署」。會開啟一個視窗,列出要部署的所有延伸功能。
g. 按一下「部署所有」
即會下載及安裝延伸功能。這可能需要幾分鐘的時間。當流程完成時,您將會收到通知。
如需詳細資訊,請參閱 ThingWorx Solution Central Help Center
2. 重新啟動 ThingWorx 伺服器。
3. 取得 UpgradeSolution 服務的組態參數。
a. ThingWorx Composer 中,導覽至 PTC.Base.Manager 物件。
b. 「服務」下,尋找並執行 GetSolutionUpgradeConfigurationParameters 服務。服務輸出是包含 UpgradeSolution 服務所需組態參數的 JSON,根據存在的建構區塊集進行動態化。服務輸出 JSON 與下列範例類似:
{
"databaseUser": {
"types": [
"STRING"
],
"description": "Name of the database user used for DPM database Thing",
"optional": false
},
"automatedMigration": {
"types": [
"Boolean"
],
"description": "When TRUE, the MigrateSolution service is automatically called by the UpgradeSolution service after the upgrade action completes. When FALSE, the MigrateSolution service must be manually executed.",
"optional": false
},
"overrideComponentDeploymentState": {
"types": [
"BOOLEAN"
],
"description": "If true, the current component deployment state is ignored and the DeployComponent service will be rerun.",
"optional": true
},
"databasePassword": {
"types": [
"STRING"
],
"description": "Password of the database user used for DPM database Thing",
"optional": false
},
"databaseJDBCString": {
"types": [
"STRING"
],
"description": "JDBC Connection String for the DPM database Thing",
"optional": false
},
"databaseThing": {
"types": [
"STRING"
],
"description": "The default database thing (PTC.DBConnection.MSSQLDatabase)",
"optional": true
}
}
c. 複製在服務輸出中傳回的 JSON 並將其貼上至文字編輯器。
d. 編輯 JSON,將每個組態參數的大括弧之間的內容取代為您場地的特定值。
databaseUser - 具有系統管理權限的資料庫使用者的登入名稱。
databasePassword - 具有系統管理權限的資料庫使用者的登入密碼。
databaseJDBCString - 建構區塊資料庫的 JDBC 連接字串。
databaseThing - 預設資料庫物件 (PTC.DBConnection.MSSQLDatabase)。
overrideComponentDeploymentState - 此值應為 false
automatedMigration - 當此值為 true 時,MigrateSolution 服務會自動執行,並將所有解決方案資料移轉至更新的資料庫架構。根據要移轉的資料量,此移轉可能會花費很長時間。當此值為 false 時,MigrateSolution 服務不會自動執行,必須在稍後手動執行。
以下是輸入 JSON 的範例:
{
"databaseUser": "DPMadmin",
"databasePassword": "945DaTaBase!39525",
"databaseJDBCString": "jdbc:sqlserver://localhost:1433;databaseName=dpmdb",
"databaseThing": "PTC.DBConnection.MSSQLDatabase",
"overrideComponentDeploymentState": false,
“automatedMigration”: true
}
4. 使用在步驟 3.d 中編輯的 JSON 作為服務的 config 輸入參數執行 UpgradeSolution 服務。
服務完成後,輸出會顯示一個資料負載,其中列出已升級、已部署與已移轉的構建區塊 (如果 MigrateSolution 服務已自動執行),及其組態狀況:SuccessfulNot ProcessedError。如果服務在處理建構區塊時發生錯誤,服務會停止。該建構區塊的狀況會顯示為 Error,其餘建構區塊的狀況則為 Not Processed
如果任何建構區塊有 ErrorNot Processed 狀況,請完成下列疑難排解步驟:
a. 請確保在 JSON 中指定的資料庫認證與組態有效,然後再執行 UpgradeSolution 服務。
b. 如果任何建構區塊在服務輸出中仍有 ErrorNot Processed 狀況,請審核 ThingWorx 應用程式與指令集錯誤記錄檔,並解決該處發現的任何錯誤。然後執行 UpgradeSolution 服務。
c. 如果任何建構區塊在服務輸出中仍有 ErrorNot Processed 狀況,請更新 JSON 以包括下列內容,並執行 UpgradeSolution 服務:
"overrideComponentDeploymentState": true
5. 如果 MigrateSolution 服務未由 UpgradeSolution 服務自動執行,請執行 MigrateSolution 服務。此服務沒有任何必要輸入參數。
MigrateSolution 服務的服務輸出、狀況與疑難排解步驟與 UpgradeSolution 服務的相應步驟相同,如步驟 4 所示。重複疑難排解步驟,直到所有建構區塊的狀況都為 Successful 為止。
* 
只有在成功執行 MigrateSolution 服務之後,升級才會完成。移轉資料之前,無法使用 1.2 發行版本的建構區塊。
升級後活動
成功升級建構區塊 (包括移轉您的解決方案資料) 之後,且在將更新後的系統提供給使用者使用之前,您需要完成下列步驟。
1. 如果您已自訂建構區塊,請參閱自訂與升級以解決升級對自訂產生的任何影響。
2. 匯入您在升級前從 ThingWorx Composer 匯出的任何自訂當地語系化表。
3. 如果您在升級建構區塊之前增加了指令集逾時設定,請將其恢復為之前的設定。
4. 建議使用者清除任何用戶端電腦上的瀏覽快取。
這是否有幫助?