PyDB2最新的更新是2008的PyDB2_1.1.1,在ubuntu14.0464位下直接安装不成功。需要做一些修改
一、解压后打开setup.py
找到#DB2_ROOT = "/opt/IBM/db2/V8.1/"
改为DB2_ROOT = "/opt/ibm/db2/V11.1/"(实际的安装路径)
二、还是在setup.py下
找到 for path in ['lib','lib32', 'lib64']:
改为 for path in ['lib64','lib32', 'lib']:
三、安装PyDB2模块
即:python setup.py build
sudo python setup.py install
四、测试
$ python
Python 2.7.6 (default, Mar 22 2014,22:59:56)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for moreinformation.
>>> import DB2
>>> conn = DB2.connect(dsn='sample',uid='db2inst1', pwd='you_passwd')
如果没有错误信息、说明安装成功了
代码:
#coding=utf-8
import DB2
try:
conn = DB2.connect(dsn='you-db', uid='username', pwd='passwd')
cur = conn.cursor()
cur.execute("SELECT * FROM you-table")
data = cur.fetchall()
for row in data:
for col in row:
print col,
#print (col, end=' ')
print#()
except DB2.Error as e:
print ("Error %d: %s" % (e.args[0],e.args[1]))
finally:
if conn:
conn.close()
sudo pip install ibm_db
代码:
#coding=utf-8
import ibm_db
conn = ibm_db.connect('you-db', 'user', 'passwd')
if conn:
stmt = ibm_db.exec_immediate(conn, "SELECT * FROM MyTable")
i = 0
cols = ibm_db.fetch_tuple(stmt)
while (cols):
print "%s %s %s %s %s" % (cols[0], cols[1])
i += 1
cols = ibm_db.fetch_tuple(stmt)
print "\nNumber of rows: %d" % i
else:
print "Connection failed."