可扩展性强是Zope平台若干优越性中的一条,除了自带的主要面向文档管理的ZODB数据库之外,Zope还可以做为开发平台,通过相应的第三方产品连接其他数据库进行数据管理。
为了实现和Oralce数据库的连接,我们需要安装两个产品——cxOracle和ZcxOracle。
cxOracle是pyhon产品,将该产品包(cx_Oracle-4.4.tar.gz)上传到服务器上之后解压缩,然后在产品目录下键入如下命令:
# python setup.py build # python setup.py install
即可完成该产品的安装过程。
安装结束后,该产品的源码库将被拷贝到下面的目录中:
“/usr/local/lib/python2.4/site-packages/”
ZcxOracle就是个普通的Plone产品了,直接解压缩拷贝到$Instance/Products/目录下面然后赋予Zope用户权限即可。
以上安装步骤完成后,重新启动Zope实例,即会在Zope后台看到可以添加新的内容类型Z cxOracle Database Connection,数据库连接字符串的格式为
用户名/密码@服务器名称
即可正常调用Oralce数据库,实现数据管理功能。
在实际的使用过程中,我们发现该产品在使用上受到了编码的限制,在数据库编码已经正常设置为UTF8编码前提下,使用该产品无法实现单数个UTF8编码字符串数据的录入。
经过代码分析显示该问题是受到了Zope安装服务器的环境变量的影响,由于更改环境变量可能会影响其他服务的使用,因此我们采用了更改ZcxOracle产品中相关代码的方式来解决这个问题。具体更改如下所示:
文件 | $INSTANCE/Products/ZcxOracleDA/db.py | |
添加如下内容
|
重新启动实例之后,UTF8编码字符串录入问题解决。
来源:http://beauty.hit.edu.cn/myStudy/Product/document.2008-10-16.9512050648