2015-12-23 99 views
1

我无法使用Python连接到DB2远程服务器。这里是我做了什么:无法通过Python连接到DB2驱动程序:SQL1042C

  1. 创建与Python 2.7.10一个的virtualenv(在Mac OS X 10.11.1)使用sudo pip install ibm_db
  2. 运行下面的代码

  3. 安装了IBM-DB:

    import ibm_db ibm_db.connect("my_connection_string", "", "")

然后我得到以下错误:

Exception: [IBM][CLI Driver] SQL1042C An unexpected system error occurred. SQLSTATE=58004 SQLCODE=-1042

我已经搜索了几个小时并尝试了不同的解决方案。不幸的是,我一直无法找到在Mac OS X + Python + DB2上设置环境的适当指南。

回答

1

您是否按照此处的设置说明进行操作? https://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.swg.im.dbclient.python.doc/doc/t0054368.html

在Python代码工作之前,您需要正确安装DB2 ODBC驱动程序。

此问题也可能揭示: https://github.com/ibmdb/node-ibm_db/issues/34

+0

是的,我按照说明,我也读过GitHub上的问题。但是,它不能解决我的问题。我担心这是我最近升级到OS X El Capitan的原因。 – chribsen

+0

我同意。 El Capitan的新“系统完整性保护”安全功能可能是罪魁祸首。我无法安装ODBC驱动程序。 – Raj

+0

我试过去激活系统完整性保护。然而,没有运气。 – chribsen

1

我们能够成功并建立连接到数据库安装的驱动程序没有任何问题。

的步骤是:已升级到OS X EI匹 1))安装PIP - 须藤PIP安装 3)安装IBM_DB - 须藤PIP安装IBM_DB 4)在制作安装,下面错误被击中

引用来自:/Users/roramana/Library/Python/2.7/lib/python/site-packages/ibm_db.so 原因:在/Users/roramana/Library/Python/2.7/lib/中不安全地使用相对路径libdb2.dylib python/site-packages/ibm_db.so使用受限制的二进制文件

禁用系统完整性保护后,安装进行得很顺利。

从错误sql1042c,它似乎是你打一些环境设置问题。 您可以尝试将DYLD_LIBRARY_PATH设置为解压缩odbc和cli驱动程序的路径。

如果问题仍然存在,请收集DB2跟踪,并与我们分享:

跟db2trc上-f trc.dmp

运行摄制

跟db2trc关闭

跟db2trc FLW TRC .dmp trc.flw

db2trc fmt trc.dmp trc.fmt

分享trc.flw和trc.fmt文件。

1

我能够在其中一台mac机器上重现错误1042C。

解决方法是将DYLD_LIBRARY_PATH设置为clidriver/lib/icc。我建议你设置DYLD_LIBRARY_PATHclidriver/libclidriver/lib/icc对于如:

export DYLD_LIBRARY_PATH=/Library/Python/2.7/site-packages/ibm_db-2.0.6-py2.7-macosx-10.10-intel.egg/clidriver/lib:/Library/Python/2.7/site-packages/ibm_db-2.0.6-py2.7-macosx-10.10-intel.egg/clidriver/lib/icc 

我有Python 2.7版安装在我的机器和使用easy_install/PIP安装自动下载clidriver中到/Library/Python/2.7/site-packages/ibm_db-2.0.6-py2.7-macosx-10.10-intel.egg/目录。

请求您根据您的环境设置DYLD_LIBRARY_PATH。请让我们知道它是否解决了您的问题。

相关问题