前几天在网上看到网友苦苦的寻找高手RequisitePro的数据库怎么配阿云云,自己都连顶了好几个帖子,便打算写这么一个东西。然而还是一贯的思路,希望真正寻求解决方法的同胞们,首先去看看《提问的智慧》,这是一篇可以让你在职业生涯上受益终生,在一般工作生活中也能得到启发的文章。
这里不准备step-by-step的讲解,然而我会把针对各种数据库的最重要、最需要注意的一些点写出来给大家备忘。之所以不打算逐步详细讲解,是觉得没有那个必要——RequisitePro安装目录下/doc/books下面有一个安装文档,pdf格式,里面关于各种数据库安装配置问题,说的清清楚楚。居然有这么便宜的事,那为什么还有人会花那么多时间问呢。可能觉得原文档是英文的吧。我觉得这就很可爱了——希望那些真有心思致力于软件某个领域的人,不要觉得英文文档会是一个障碍。希望能自己多下功夫,想办法削弱、克服这些负面因素。
顺便提一句,Rational RequisitePro最新版7.0可以在IBM官方网站下载,一个月试用许可证:http://www-128.ibm.com/developerworks/rational/downloads/ 。
言归正传。对任意一种数据库,RequisitePro的数据库配置可以分为数据库服务器端配置和客户端(RequisitePro端)配置。其中DB2,Oracle,SQL Server需要在数据库服务器上运行脚本来创建或修改数据库以适合RequisitePro使用,这些脚本在RequisitePro的安装目录下/database下面;Access则不用任何配置(对于某些版本的Windows,可能需要更新Microsoft MDAC至最新版本)。
数据库支持包含了当今最流行的各种版本,甚至包括MS SQL Server 2005。下面简要说明各种数据库配置时的注意事项:
一,DB2。DB2的脚本需要在DB2服务器上运行,RequisitePro安装文档上有详细说明。需要注意的是在,由于DB2数据库要求客户端的code page和该数据库的code page一致,否则不能连接,而那些DB2脚本中则包含了命令创建数据库和连接数据库,以及执行后续操作等。这就产生了一个问题。比如说,我们得DB2服务器运行在英文Windows 2003,我们需要创建一个中文code set的数据库。当脚本发出第一条命令创建数据库时,
db2 create db testcn using codeset GBK territory zh_CN
数据库是可以成功创建的。随后,脚本发出第二条命令去连接数据库
db2 connect to testcn
这时就会报错了,说从源code page xxx到目标code page yyy没有可用的转换。不能建立连接。这是因为,在你发起连接的机器的code page(英文,经常是1252),和目标数据库的code page(中文,GBK,1386,etc)不一致。
解决这个问题有通常由两种办法:
1。使用中文环境的虚拟机(如VM Ware)去执行除了创建数据库那个脚本以外的脚本。当然这种情况下要在虚拟机上安装DB2客户端,配置好数据库本地别名后再执行那些脚本。
2。更改DB2服务器上的DB2注册表变量。
db2set db2_force_nls_cache=true
db2set db2codepage=1208
这两个变量组合起来,使得在同一个session内的数据库连接使用第一次操作数据库时所用的codepage,并保证与之建立code page兼容连接。变量具体含义请参考DB2在线文档。我搜集了两个链接,也希望大家反馈更新,顺便给出http://blog.csdn.net/eastenchild/archive/2004/12/17/219844.aspx
二,Oracle。Oracle客户端配置较为简单,只需使用Net Manager即可。注意一点的是,如果你是先安装的RequisitePro,后安装的Oracle client,则可能需要重新启动机器,以便RequisitePro能正确识别、使用Oracle client。
三,SQL Server。这里没有典型的客户端配置。RequisitePro使用操作系统内嵌的MDAC建立数据库连接,只要服务器端配置完成,一般没有问题了。
四,Access。这里完全没有服务器、客户端的配置。只是注意一点,对于某些版本的Windows(例如西班牙文的Windows 2000),可能需要更新Microsoft MDAC至最新版本,否则创建项目时有可能出现错误。