应用ZcxOracle实现Zope和Oralce数据库的连接

应用ZcxOracle实现Zope和Oralce数据库的连接


  可扩展性强是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

添加如下内容

#added by lindalee to support utf8 encode
import os

class DB(TM):
#added by lindalee to support utf8 encode
    os.environ["NLS_LANG"]="SIMPLIFIED CHINESE_CHINA.UTF8";

  重新启动实例之后,UTF8编码字符串录入问题解决。

 

来源:http://beauty.hit.edu.cn/myStudy/Product/document.2008-10-16.9512050648

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值