【问题标题】:Python - ibm_db module install : 'link.exe' failed with exit status 1120Python - ibm_db 模块安装:“link.exe”失败,退出状态为 1120
【发布时间】:2017-08-04 15:25:28
【问题描述】:

希望所有人都做得很好!我正在尝试将我的 DB2 与 python 连接,以便我可以通过 PyCharm 开发数据库事务。

我在我的机器上安装了 Python 3.6.1(32 位版本)。

而且,我正在尝试安装“ibm_db”模块以从 Python 执行 DB2 数据库相关事务,所以我运行了这个命令

C:\Users\SudipGhosh\AppData\Local\Programs\Python\Python36-32>easy_install ibm_db-2.0.5-py3.3-win32.egg ibm_db-2.0.7.tar.gz

Processing ibm_db-2.0.5-py3.3-win32.egg
removing 'c:\users\sudipghosh\appdata\local\programs\python\python36-32\lib\site-packages\ibm_db-2.0.5-py3.3-win32.egg' (and everything under it)
creating c:\users\sudipghosh\appdata\local\programs\python\python36-32\lib\site-packages\ibm_db-2.0.5-py3.3-win32.egg
Extracting ibm_db-2.0.5-py3.3-win32.egg to c:\users\sudipghosh\appdata\local\programs\python\python36-32\lib\site-packages
ibm-db 2.0.5 is already the active version in easy-install.pth

Installed c:\users\sudipghosh\appdata\local\programs\python\python36-32\lib\site-packages\ibm_db-2.0.5-py3.3-win32.egg
Processing dependencies for ibm-db==2.0.5
Searching for ibm-db==2.0.5
Reading https://pypi.python.org/simple/ibm-db/
Downloading https://pypi.python.org/packages/df/3e/db8ac8d4a2b49c27ad2a90d5b1b9a4673933c4e3dfd777849e7e7e4b8a79/ibm_db-2.0.5.tar.gz#md5=73ed86f4cf423fc608db95403ba988e4
Best match: ibm-db 2.0.5
Processing ibm_db-2.0.5.tar.gz
Writing C:\Users\SUDIPG~1\AppData\Local\Temp\easy_install-_5givnbi\ibm_db-2.0.5\setup.cfg
Running ibm_db-2.0.5\setup.py -q bdist_egg --dist-dir C:\Users\SUDIPG~1\AppData\Local\Temp\easy_install-_5givnbi\ibm_db-2.0.5\egg-dist-tmp-ay___k95
Detected 32-bit Python
C:\Users\SUDIPG~1\AppData\Local\Temp\easy_install-_5givnbi\ibm_db-2.0.5\setup.py:52: UserWarning: Detected usage of IBM Data Server Driver package. Ensure you have downloaded 32-bit package of IBM_Data_Server_Driver and retry the ibm_db module install

  warnings.warn(notifyString)
ibm_db.c
ibm_db.c(5326): warning C4018: '<=': signed/unsigned mismatch
ibm_db.c(5330): warning C4018: '<=': signed/unsigned mismatch
ibm_db.c(5342): warning C4018: '<=': signed/unsigned mismatch
ibm_db.c(5456): warning C4018: '<=': signed/unsigned mismatch
ibm_db.c(9643): warning C4244: 'function': conversion from 'SQLINTEGER' to 'SQLSMALLINT', possible loss of data
   Creating library build\temp.win32-3.6\Release\ibm_db.cp36-win32.lib and object build\temp.win32-3.6\Release\ibm_db.cp36-win32.exp
ibm_db.obj : error LNK2001: unresolved external symbol _SQLGetDiagRec@32
ibm_db.obj : error LNK2001: unresolved external symbol _SQLTablePrivilegesW@28
ibm_db.obj : error LNK2001: unresolved external symbol _SQLProcedureColumnsW@36

....等等...

ibm_db.obj : error LNK2001: unresolved external symbol _SQLDriverConnectW@32
**build\lib.win32-3.6\ibm_db.cp36-win32.pyd : fatal error LNK1120: 46 unresolved externals
error: Setup script exited with error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\link.exe' failed with exit status 1120**

我在我的机器上安装了 Visual Studio(Visual C++ 2015 构建工具),因为它是必需的,我得到了上述错误。

我的操作系统是:Windows 10 64bit

有人可以帮忙吗?

【问题讨论】:

  • 看起来您没有安装 IBM Data Server 客户端,或者安装不正确。
  • @mustaccio,感谢您的回复,但我已经安装了 IBM Data Server 客户端,但仍然没有运气。请让我知道我是否需要设置任何 ENV 变量,如果需要,那么如何以及在哪里?

标签: python db2


【解决方案1】:

检查 DB2 SQLLIB 32/64 位, 我认为你需要像 python 这样的 32 位版本。

【讨论】:

  • 感谢您的回复。我实际上已经找到了解决方案。我只是卸载了我的 python 3.6 并重新安装了 python 3.4,它实际上解决了这个问题。我现在可以成功下载 ibm_db 模块供 python 使用。
猜你喜欢
  • 2018-05-23
  • 1970-01-01
  • 2016-02-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多