安装和升级 > 安装和配置指南 > 高级配置 > 配置数据库应用程序用户
  
配置数据库应用程序用户
数据库安装用户用于创建数据库架构并加载所需的数据。数据库应用程序用户可从 Windchill 执行事务处理。
如果在安装期间不创建数据库应用程序用户,并且不打算使用该用户,则可跳过本部分中的这些步骤。然而,即使在安装过程中并未创建数据库应用程序用户,某些模块 (如 Windchill Business Reporting) 仍需要该用户。在此类情景中,您必须完成这些步骤。
如果在使用“PTC 解决方案安装程序”安装 Windchill 解决方案时创建数据库应用程序用户,则可执行下列步骤来完成配置:
1. 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
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_10M0XX、WindchillAppRole_10M0XX 之类的名称来创建应用程序用户和角色。这有助于创建唯一的名称,并使其与目标 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 中,执行下列命令来修改具有相应值的 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
7. 启动 Windchill 及其相关服务。从方法服务器输出中,验证已将数据库应用程序用户名称 <WINDCHILL_APP_USER_NAME> 用于数据库连接。
SQL Server
为 Cognos 创建数据库:
1. 右键单击“数据库”文件夹,然后选择“新建数据库”
a. “新建数据库”对话框的“常规”选项卡中,为目标数据库输入一个有意义的名称
b. 单击“选项”选项卡,并在“排序规则”下拉列表上单击选择适当的排序规则
a. Cognos 需要使用 SQL_Collation 配置其数据库:
SQL Server 2008 R2: SQL_Latin1_General_CP1_CI_AS
SQL Server 2012: Latin1_General_100_CI_AS
c. 单击“确定”创建数据库
d. 右键单击“数据库文件夹”,然后选择“刷新”以查看新创建的数据库
2. 从 SSMS (SQL Server Management Studio) 打开“新建查询”窗口,并以 "sa" 用户身份执行以下语句,用新创建的数据库名称 (区分大小写) 替换 <DBNAME> 变量。
use [master]goALTER DATABASE [<DBNAME>] SET READ_COMMITTED_SNAPSHOT ONONgo
3. SSMS 以 "sa" 管理员用户身份打开另一个“新建查询”窗口,并在用新创建的数据库替换变量 <DBNAME> 之后执行以下代码段,以在此新建数据库中创建登录名称、用户和架构。
USE [master]
GOCREATE LOGIN [<DBNAME>] WITH PASSWORD=N’<DBNAME>’, DEFAULT_DATABASE=[<DBNAME>],CHECK_EXPIRATION=OFF,CHECK_POLICY=OFFGOUSE [<DBNAME>]GOCREATE USER [<DBNAME>] FOR LOGIN [<DBNAME>]GOEXEC sp_addrolemember N’db_owner’, N’<DBNAME>’GOCREATE SCHEMA [<DBNAME>] AUTHORIZATION [<DBNAME>]GOALTER USER [<DBNAME>] WITH DEFAULT_SCHEMA=[<DBNAME>]GO
* 
在这种情况下,为了简单起见,数据库用户名和密码设置为与数据库名称相同。
4. Windchill shell 中,执行下列命令来修改具有相应值的 Windchill db.properties 文件:
* 
执行以下命令代替 <DBNAME> 时,应使用创建的 Cognos 数据库用户名。
xconfmanager -s wt.pom.dbUser=<DBNAME> -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
5. 启动 Windchill 及其相关服务。从方法服务器输出中,验证 Windchill Business Reporting 数据库用户名 <DBNAME> 已用于数据库连接。
对于 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" -pxconfmanager -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
停止 Windchill 服务器。
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
启动 Windchill 服务器。