使用 PTC 軟體下載頁部署建構區塊
在此情況下,您的系統上已安裝資料庫與 ThingWorx,您需要從 PTC 軟體下載頁下載建構區塊並將延伸功能封裝匯入到 ThingWorx 中,來將建構區塊部署到 ThingWorx 實例。
完成以下部份的步驟:
先決條件
部署建構區塊之前,請完成下列先決條件:
審核建構區塊系統需求,包括與 ThingWorx 的哪些版本相容。若需進一步資訊,可參閱 系統需求
審核相容 ThingWorx 版本的 ThingWorx 系統需求。如需詳細資訊,請參閱 ThingWorx 說明中心的系統需求
安裝相容的 ThingWorx 版本。如需詳細資訊,請參閱安裝 ThingWorx
套用您的授權。如需詳細資訊,請參閱 ThingWorx 說明中心中的 ThingWorx Platform 授權
配置 ThingWorx 以匯入延伸功能。如需詳細資訊,請參閱 ThingWorx 說明中心中的匯入延伸功能
請確保將 ThingWorx 伺服器時區設定為 UTC。如需詳細資訊,請參閱 ThingWorx 說明中心的安裝 Java、Apache Tomcat 與 ThingWorx
如果您要在 Linux 上安裝資料庫,請安裝 sqlcmd 工具。
安裝 Microsoft SQL Server Management Studio。如需詳細資訊,請參閱 https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
更新指令集逾時設定
欲更新指令集超時設定,ThingWorx 管理員必須完成下列步驟:
1. ThingWorx 伺服器,導覽至 ThingWorxPlatform 資料夾。
2. 在文字編輯器中開啟 platform-settings.json 檔案。
3. BasicSettings 部份中,尋找 ScriptTimeout 設定並將其更新為 12000。
如果選項尚不存在,請將其新增至 BasicSettings 部份,如下所示:"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 組態設定詳細資訊」
更新工作階段逾時設定
依預設,閒置使用者工作階段會在 30 分鐘後逾時。您可以變更此設定以符合系統需求。
欲變更會話超時設定,ThingWorx 管理員必須完成下列步驟:
1. ThingWorx 中,導覽至「系統」 > 「子系統」
2. 在編輯模式下開啟 UserManagementSubsystem
3. 「組態」下,變更「閒置工作階段逾時 (以分計)」 設定。
4. 按一下「儲存」
5. 重新啟動 ThingWorx 伺服器。
如需詳細資訊,請參閱 ThingWorx 說明中心的使用者管理子系統
安裝 MS SQL JDBC Driver
如果您的 ThingWorx 實例將 PostgreSQL 配置為持續性提供者,請完成下列步驟以安裝 MS SQL JDBC 驅動程式。如果您的 ThingWorx 實例將 MS SQL 配置為持續性提供者,請跳到下一部份。
2. 將 JDBC JAR 檔案複製到 Tomcat 安裝的 lib 目錄:(<TOMCAT_HOME>/lib)。
3. 重新啟動 Tomcat 伺服器以載入 JDBC Driver,使其可供 ThingWorx 使用。
建立您的建構區塊資料庫與資料庫使用者
請完成下列步驟:
1. 在主資料庫中為您的建構區塊資料庫使用者建立登入與密碼。請遵循您資料庫的密碼複雜度建議。
針對 Windows,在 Microsoft SQL Server Management Studio 的查詢編輯器中使用 Transact-SQL 指令:
CREATE LOGIN <bbadmin> WITH PASSWORD = '<password>';
在上述指令中,以建構區塊資料庫使用者的登入與密碼取代 <bbadmin><password>
針對 Linux:
1. 在 Linux 用戶端開啟指令提示。
2. 使用下列指令來在 SQL Server 上建立登入:
sqlcmd –S <database-server-name> -U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create login <bbadmin> with password = '<bbadmin-password>'" \
GO; \
exit
在上述指令中,以您的資料庫伺服器名稱取代 <database-server-name>,以 SQL 管理員使用者名稱與密碼取代 <sql-administrator-username><sql-administrator-password>,並以建構區塊資料庫使用者的登入及密碼取代 <bbadmin><bbadmin-password>
2. 建立建構區塊將使用的 Microsoft SQL Server (MSSQL) 資料庫。
針對 Windows,在 Microsoft SQL Server Management Studio 的查詢編輯器中使用 Transact-SQL 指令:
CREATE DATABASE <bbdb> COLLATE SQL_Latin1_General_CP1_CI_AS;
ALTER DATABASE <bbdb> SET READ_COMMITTED_SNAPSHOT ON;
ALTER DATABASE <bbdb> SET ALLOW_SNAPSHOT_ISOLATION ON;
ALTER DATABASE <bbdb> SET ARITHABORT ON;
在上述指令中,以您的資料庫名稱取代 <bbdb>
針對 Linux:
1. 在 Linux 用戶端開啟指令提示。
2. 使用下列指令來建立 SQL Server 資料庫、將變數取代為資料庫伺服器名稱及 SQL 管理員使用者名稱與密碼:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "create database <bbdb> COLLATE SQL_Latin1_General_CP1_CI_AS; ALTER DATABASE <bbdb> SET READ_COMMITTED_SNAPSHOT ON; ALTER DATABASE <bbdb> SET ALLOW_SNAPSHOT_ISOLATION ON;ALTER DATABASE <bbdb> SET ARITHABORT ON"
在上述指令中,以您的資料庫伺服器名稱取代 <database-server-name>,以 SQL 管理員使用者名稱與密碼取代 <sql-administrator-username><sql-administrator-password>,以您的資料庫名稱取代 <bbdb>
3. 針對在步驟 1 中建立的登入建立資料庫使用者。針對用於登入的資料庫使用者使用相同的名稱。
針對 Windows,在為在步驟 2 中建立之資料庫開啟的 SQL Server Management Studio 查詢編輯器中使用 Transact-SQL 指令:
CREATE USER <bbadmin> FOR LOGIN <bbadmin>;
ALTER ROLE [db_owner] ADD MEMBER <bbadmin>;
在上述指令中,以在步驟 1 中建立的登入名稱取代 <bbadmin>
針對 Linux:
1. 在 Linux 用戶端開啟指令提示。
2. 使用下列指令為您的建構區塊資料庫建立資料庫使用者,將變數取代為資料庫伺服器名稱以及 SQL 管理員使用者名稱與密碼:
sqlcmd –S <database-server-name> \
-U <sql-administrator-username> -P <sql-administrator-password> \
-Q "use <bbdb>; create user <bbadmin> for login <bbadmin>;ALTER ROLE [db_owner] ADD MEMBER <bbadmin>"
在上述指令中,以您的資料庫伺服器名稱取代 <database-server-name>,以 SQL 管理員使用者名稱與密碼取代 <sql-administrator-username><sql-administrator-password>,以您的資料庫名稱取代 <bbdb>,並以在步驟 1 中建立的登入名稱取代 <bbadmin>
使用軟體下載頁下載建構區塊
完成下列步驟:
1. 導覽至 PTC 軟體下載頁,URL 如下:https://support.ptc.com/appserver/auth/it/esd/index.jsp
2. 選取 ThingWorx Foundation
3. 展開下列資料夾:ThingWorx Foundation > Release 9.3 > ThingWorx Manufacturing Common 1.2 > 「最新日期代碼」
4. 下載 MFG-Common-1-2 延伸功能封裝 ZIP 檔案。
匯入建構區塊
欲匯入建構區塊,ThingWorx 管理員必須完成下列步驟:
1. 請確保在 ThingWorx Composer 中安裝了您的授權。如需詳細資訊,請參閱 PTC 知識庫中的此技術支援文章
2. 在 ThingWorx Composer 中,導覽至「匯入/匯出」 > 「匯入」
3. 「匯入」視窗中,從「匯入選項」下拉式清單中選取「延伸功能」
4. 「檔案名稱」下,按一下「瀏覽」。導覽至您在上一部份中下載的延伸功能封裝 ZIP 檔案並選取它。
5. 按一下「匯入」。匯入完成時,按一下「關閉」
6. 匯入後,可透過導覽至「管理」 > 「已安裝的延伸功能」來檢視建構區塊延伸功能。
執行 InitializeSolution 服務
執行 InitializeSolution 服務來配置要連接至建構區塊資料庫的資料庫物件、建立資料庫表格,並針對建構區塊註冊管理員物件。
欲執行此服務,ThingWorx 管理員必須完成下列步驟:
1. ThingWorx Composer 中,導覽至 PTC.Base.Manager 物件。
2. 取得組態參數:
a. 「服務」下,尋找並執行 GetSolutionDeploymentConfigurationParameters 服務。服務輸出是包含 InitializeSolution 服務所需組態參數的 JSON,根據存在的建構區塊集進行動態化。服務輸出 JSON 如下所示:
{
"databaseUser": {
"types": [
"STRING"
],
"description": "Name of the database user used for DPM database Thing",
"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.SQLThingDatabase)",
"optional": true
}
}
b. 複製在服務輸出中傳回的 JSON 並貼上至文字編輯器。
c. 編輯 JSON,將每個組態參數的大括弧之間的內容取代為您場地的特定值。
databaseUser - 具有系統管理權限的資料庫使用者的登入名稱。
databasePassword - 具有系統管理權限的資料庫使用者的登入密碼。
databaseJDBCString - 建構區塊資料庫的 JDBC 連接字串。
databaseThing - 預設資料庫物件 (PTC.DBConnection.SQLThingDatabase)。
以下是所編輯 JSON 的範例:
{
"databaseUser": "<bbadmin>",
"databasePassword": "<password>",
"databaseJDBCString": "jdbc:sqlserver://<databaseHost>:<databasePort>;databaseName=<bbdatabaseName>",
"databaseThing": "PTC.DBConnection.SQLThingDatabase"
}
以下是帶有實際值的已編輯 JSON 的範例:
{
"databaseUser": "BBadmin",
"databasePassword": "945DaTaBase!39525",
"databaseJDBCString": "jdbc:sqlserver://localhost:1433;databaseName=dpmdb",
"databaseThing": "PTC.DBConnection.SQLThingDatabase"
}
3. 「服務」下,使用在步驟 2.c 中編輯的 JSON 作為服務的 deploymentConfig 輸入參數,尋找並執行 InitializeSolution 服務。
當服務完成時,輸出會顯示一個資料負載,列出已部署的建構區塊及其組態狀況:ConfiguredNot ConfiguredError。如果任何建構區塊有 ErrorNot Configured 狀況,請完成下列疑難排解步驟:
a. 請確保在 JSON 中指定的資料庫認證與組態有效,然後再執行 InitializeSolution 服務。
b. 如果任何建構區塊在服務輸出中仍有 ErrorNot Configured 狀況,請審核 ThingWorx 應用程式與指令集錯誤記錄檔,並解決該處發現的任何錯誤。然後執行 InitializeSolution 服務。
c. 如果任何建構區塊在服務輸出中仍有 ErrorNot Configured 狀況,請更新 JSON 以包括下列專案並執行 InitializeSolution 服務:
"overrideComponentDeploymentState": true
這是否有幫助?