安装和升级 > 安装和配置指南 > 高级配置 > 配置数据库应用程序用户
  
配置数据库应用程序用户
数据库安装用户用于创建数据库架构并加载所需的数据。数据库应用程序用户可从 Windchill 执行事务处理。
如果在安装期间不创建数据库应用程序用户,并且不打算使用该用户,则可跳过本部分中的这些步骤。然而,即使在安装过程中并未创建数据库应用程序用户,某些模块 (如 Windchill Business Reporting) 仍需要该用户。在此类情景中,您必须完成这些步骤。
如果在使用“PTC 解决方案安装程序”安装 Windchill 解决方案时创建数据库应用程序用户,则可执行下列步骤来完成配置:
1. Windchill shell 中,通过执行下列命令,以相应的值修改 Windchilldb.properties 文件:
xconfmanager -s wt.pom.dbUser=<WINDCHILL_APP_USER_NAME> -t "db/db.properties" -p
xconfmanager -s wt.pom.dbPassword=<WINDCHILL_APP_USER_PASSWORD> -t "db/db.properties" -p
xconfmanager -s wt.pom.dbSchemaUser=<WINDCHILL_INSTALL_USERNAME> -t "db/db.properties" -p
2. 启动 Windchill 及其相关服务。从方法服务器输出中,验证已将数据库应用程序用户名称 <WINDCHILL_APP_USER_NAME> 用于数据库连接。
如果在安装 Windchill 解决方案时没有创建数据库应用程序用户,则可以在“PTC 解决方案安装程序 (PSI)”完成安装解决方案之后,使用数据库特定脚本和数据库客户端来创建一个数据库应用程序用户。必须将数据库客户端安装在 Windchill 服务器上,或从数据库服务器中复制并执行脚本。使用下列步骤手动创建数据库应用程序用户:
Oracle
1. 打开 Windchill shell。
2. 将目录更改为 <Windchill>\db\sql (或 sql3)。该脚本位于两个文件夹中,并且不依赖于单字节或多字节的 Windchill 配置。
3. 使用 Sqlplus 实用程序,以数据库管理用户身份登录到 Windchill 数据库。
* 
执行下列脚本的用户必须有 <Windchill>\db\sql (或 sql3) 文件夹的读/写权限。
4. 执行 create_wc_app_user.sql 文件可创建应用程序用户、数据库角色和之后的登录触发器。
* 
PTC 建议通过将 Windchill 维护版本附加到名称之后来创建应用程序用户和角色,例如:WindchillAppUser_release_version、WindchillAppRole_release_version。这有助于创建唯一的名称,并使其与目标 Windchill 版本相关联。
以下是脚本执行输出的示例:
Windchill Install database User Name: <WINDCHILL_INSTALL_USERNAME>

Windchill Application database Role Name: <WINDCHILL_APP_DATABASE_ROLE>

Windchill Application database User Name: <WINDCHILL_APP_USERNAME>

Windchill Application database User Password: <WINDCHILL_APP_USER_PASSWORD>

Default Tablespace Name: USERS

Temporary Tablespace Name: TEMP

5. 通过以该用户的身份登录到数据库中的方式,来验证是否已经正确创建应用程序用户和角色。
6. Windchill shell 中,通过执行下列命令,以相应的值修改 Windchilldb.properties 文件:
xconfmanager -s wt.pom.dbUser=<WINDCHILL_APP_USER_NAME> -t "db/db.properties" -p
xconfmanager -s wt.pom.dbPassword=<WINDCHILL_APP_USER_PASSWORD> -t "db/db.properties" -p
xconfmanager -s wt.pom.dbSchemaUser=<WINDCHILL_INSTALL_USERNAME> -t "db/db.properties" -p
7. 启动 Windchill 及其相关服务。从方法服务器输出中,验证已将数据库应用程序用户名称 <WINDCHILL_APP_USER_NAME> 用于数据库连接。
SQL Server and Azure SQL Database
* 
请确保已安装了 SQL 命令行工具,然后再安装 SQL 和 Azure SQL 数据库
1. 打开 Windchill Shell 并将目录更改为 $WT_HOME\db\sqlServer
2. 要创建应用程序用户和数据库角色,请执行以下批处理文件:
对于 Windows:<WT_HOME>\Windchill\db\sqlServer>create_wc_app_user.bat
对于 Linux:<WT_HOME>/Windchill/db/sqlServer>create_wc_app_user.sh
D:\ptc\Windchill\db\sqlServer> create_wc_app_user.bat
执行此脚本的用户必须具有对 $WT_HOME\db\sqlServer 文件夹的读/写权限。
* 
PTC 建议通过将 Windchill MOR 版本附加到名称之后来创建应用程序用户和角色,例如:WindchillAppUser_release_version 和 WindchillAppRole_release_version。此做法有助于以目标 Windchill 版本来标识和关联唯一的名称。
脚本执行输出示例:
SQL Server Host Name: <DB HOST Name>
SQL Server Instance Name (for Named Instance only):
SQL Server Admin User name (default is sa):
Password for user sa:
Windchill Install Database User Name: <WINDCHILL_INSTALL_USERNAME>
Default database name for user s:
Windchill Application Database Role Name: <WINDCHILL_APP_DATABASE_ROLE>
Windchill Application Database User Name: <WINDCHILL_APP_USER_NAME>
Windchill Application Database User Password: <WINDCHILL_APP_USER_PASSWORD>
通过以该用户的身份登录到数据库中的方式,来验证是否已经正确创建应用程序用户和角色。
3. Windchill Shell 中,执行下列命令来修改具有相应值的 Windchill db.properties 文件:
xconfmanager -s wt.pom.dbUser=<WINDCHILL_APP_USER_NAME> -t "db/db.properties" -p
xconfmanager -s wt.pom.dbPassword=<WINDCHILL_APP_USER_PASSWORD> -t "db/db.properties" -p
xconfmanager -s wt.pom.dbSchemaUser=<WINDCHILL_INSTALL_USERNAME> -t "db/db.properties" –p
4. 启动 Windchill 及其相关服务。
从方法服务器输出中,验证数据库应用程序用户名 <WINDCHILL_APP_USER_NAME> 已用于数据库连接。
对于 SQL Server Windchill 数据库应用程序用户授予查看定义
对于使用 SQL 服务器 Windchill 数据库应用程序用户的系统,此数据库角色必须被授予“视图定义”权限。可从 SQL Server Management Studio 应用程序中目标数据库角色的“属性”对话框中授予该权限,或使用 SQLCMD 授予该权限,如下所示:
sqlcmd -S <SQLSERVER_INSTANCE> -U sa -{ <SA_Password> -d <Windchill_DB> -Q
"GRANT VIEW DEFINITION ON SCHEMA::[WINDCHILL_SCHEMA_USER] TO [WINDCHILL_APP_DB_ROLE]"
例如:
D:\sqlcmd -S host01 -U user1 -P pass1 -d test1 -Q "GRANT VIEW DEFINITION ON
SCHEMA::[test1] TO [test1_role]"
使用数据库应用程序用户进行配置时,添加 Windchill 组件或功能
如果使用数据库应用程序用户配置 Windchill 安装,且要添加会导致架构更改的新 Windchill 功能或组件,则必须执行以下步骤:
1. 使用数据库安装用户配置 Windchill
停止 Windchill 服务器。
Windchill shell 中执行以下语句来更新 Windchill 数据库特性,以反映 Windchill 数据库安装用户:
xconfmanager -s wt.pom.dbUser=< WINDCHILL_INSTALL_USERNAME > -t "db/db.properties" -p
xconfmanager -s wt.pom.dbPassword=<WINDCHILL_INSTALL_PASSWORD> -t "db/db.properties" -p
启动 Windchill 服务器。
2. 将新功能或组件添加到 Windchill 安装。
3. 仅适用于 Oracle 数据库:将访问权限授予新创建的数据库对象:
使用 Sqlplus,以数据库管理员用户身份登录到数据库,然后执行脚本 <WT_HOME>/db/sql/update_wc_app_role_privs.sql 以将权限授予新架构对象。
4. 当出现提示时,请输入以下值:
Windchill 安装数据库用户名:<WINDCHILL_INSTALL_USERNAME>
Windchill 应用程序数据库角色名:<WINDCHILL_APP_DATABASE_ROLE>
5. 使用数据库应用程序用户配置 Windchill
a. 停止 Windchill 服务器。
b. Windchill shell 中执行以下语句来更新 Windchill 数据库特性,以反映 Windchill 数据库安装用户:
xconfmanager -s wt.pom.dbUser=< WINDCHILL_APP_USER_NAME> -t "db/db.properties"

?pxconfmanager -s wt.pom.dbPassword=<WINDCHILL_APP_USER_PASSWORD> -t

"db/db.properties" -p
c. 启动 Windchill 服务器。