python连接db2数据库sqlcode1013_python连接DB2 (pydb2)

公司的项目中有访问DB2数据的需求,我以前也只是听说DB2有这么个咚咚,据说也是个恐龙级的数据库。以前也没有用过DB2 在c语言的接口(访问oracle我一直用oci),网上一兜,才发现DB2有JDBC的访问接口,c方面的很少。

项目的工期比较紧,同时我也不想花太多的时间研究数据库访问接口,所以在项目中许多模块都是用python编写,开发周期短,调试,跨平台也是很吸引人,所以就用python拉。在python.org一搜索,便找到了pydb2,OK! 马上下载pydb1.2,一解开压缩包,原来是原代码,只能编译拉。还好有编译脚本:), 运行setup.py install

出现以下异常:

Compiling under Visual Studio .NET v7 recieves the

following error:

_db2_module.c(1855) : error C2036: 'SQLPOINTER' :

unknown size

This can be resolved by casting to (SQLCHAR *) instead

of a (void *):

< SQLPOINTER buf = (SQLPOINTER)((SQLCHAR

*)bs->buf + (bs->bufLen * idx));

发现原来SQLCHAR类型没有找到,没问题,找到_db2_module.c:1855行修改为:

SQLPOINTER buf = (SQLPOINTER)((void *)bs->buf +

(bs->bufLen * idx));

再次 setup.py install

ok,编译成功,db2.py的模块也被拷贝得到 $PYTHONHOME/lib/site_pakages/下去了

然后安装db2 client runtime

这样就完成了pydb2的运行配置。然后就在odbc中配置一个dsn

测试以下代码:

import DB2

conn = DB2.connect(dsn='sample', uid='db2inst1', pwd='secret')

无异常表示成功连接上DB2

之后访问数据库只要遵循python DBI2.0的规范就可以拉!

生活在python世界是很快乐的事情!

*注意: python2.4的话必须用vc7.1编译pydb2的扩展模块,因为python2.4(win32)也是用vc7.1编译的

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值