我想使用IBM DB2 ODBC Driver将Python连接到DB2版本9.1。如何在早期版本的DB2中使用IBM_DB?
以下是我将Python连接到DB2的代码。该程序正在IBM DB2的更高版本中运行。
import ibm_db
conn = ibm_db.connect("DSN=PDB2;DRIVER={IBM DB2 ODBC DRIVER};DATABASE=MDBASIS;PORT=1234;PROTOCOL=TCPIP;UID=username;PWD=password","","")
stmt = ibm_db.exe_immediate(conn,"create table egg (ID SMALLINT, NAME VARCHAR(30))")
stmt = ibm_db.exe_immediate(conn,"insert into egg (ID, NAME) VALUES('1','ok')")
state = ibm_db.exe_immediate("select * from egg")
result = ibm_db.fetch_both(state)
while result != False:
print 'id = %d and name = %s' %(result[0],result[1])
result = ibm_db.fetch_both(state)
stmt = ibm_db.exe_immediate(conn,"drop table egg")
我的问题是,我的IBM DB2版本是9.1,而不修订包,当我尝试连接到IBM DB2 9.1版本,我得到一个错误信息。
"[IBM][CLI Driver] CLI0133E Option type out of range. SQLSTATE=HY092 SQLCODE=-99999"
而且这个错误写在http://programmingzen.com/2008/02/08/essential-guide-to-the-ruby-driver-for-db2/is页的解释: “如果你得到这个错误,它通常意味着你正在使用的DB2版本太旧的安装最新的修订包或最新版本。的DB2(目前是9.5)来解决问题。“
但是我无法安装最新的FixPack或最新版本的DB2,或者以任何方式修改现有的DB2安装。
问题
有没有什么办法可以连接到DB2 9.1版,而无需修改数据库,可能使用比IBM_DB别的东西吗?