适用于Python的IBM_DB软件包似乎没有IBM_DB.dll

时间:2019-12-04 21:54:58

标签: python-3.x db2

免责声明: 我是Python的新手。

过去几天,我一直在尝试使用Python访问DB2数据库,但是到目前为止,我的尝试没有成功。

我通过执行以下命令安装了'ibm_db'软件包: pip install ibm_db ,它似乎安装成功。因此,当我尝试导入ibm_db时,不再出现“找不到针对ibm_db的模块”错误。另外,我已经相应地设置了IBM_DB_HOME。

但是,当我尝试执行以下代码时,现在出现此错误: ImportError:导入ibm_db时DLL加载失败:找不到指定的模块。

我已经在Internet上爬行以查看丢失的内容,发现我没有任何IBM_DB_DLL文件夹,也没有IBM_DB.dll。

如何获取这些文件?

系统和安装详细信息:

Windows 10-64位

Python版本-Win32上的Python 3.8.0 [MSC v.1916 64位(AMD64)]-我不知道 win32 是什么意思。我已经从Python网站安装了此版本(Windows x86-64可执行安装程序)。

我还安装了'IBM DB2 Runtime Client 10.5fp8

IBM_DB_HOME变量设置为:C:\ Python \ Lib \ site-packages

我能够用Python运行其他程序。但是,这是我第一次尝试连接到DB2。

非常感谢您的帮助或要点。

预先感谢

Ganesh

int c = 0;

while (c < 5)
{
    if (c == 2)
    {
        continue;
    }
    printf ("data %d", ++c);
    fflush(stdout);
}

在使用easy_install ibm_db卸载并重新安装ibm_db软件包之后,我注意到警告消息:警告:在目录“ ibm_db_dlls” *下找不到与“ ”匹配的文件*

这是我尝试安装ibm_db软件包时的完整日志



def make_connexion(server, port, database, username, password, timeout):
return db2.connect('DATABASE={0};'.format(database) +
                  'HOSTNAME={0};'.format(server) +
                  'PORT={0};'.format(str(port)) +
                  'PROTOCOL=TCPIP;' +
                  'UID={0};'.format(username) +
                  'PWD={0};'.format(password) +
                  'ConnectTimeout={0};'.format(str(timeout))
                  , '', '')

--sample connexion object

connexion = make_connexion('server', 'port', 'database', 'username', 'password', 'timeout')

4 个答案:

答案 0 :(得分:0)

这是Python + Db2入门技术说明之一:

在安装了Db2的未联网/离线计算机上安装Python
http://www.ibm.com/support/docview.wss?uid=ibm10730749

以下是摘要:

Db2产品可以在没有互联网连接的情况下安装,但是 Python模块和适配器可能需要连接互联网。

如果未联网的计算机可以连接Internet代理服务器,则可能有效 通过将HTTP_PROXY环境变量用于easy_install和 --prip的pip选项。

但是如果没有代理/互联网连接机器,这是一个示例 如何通过复制鸡蛋将其安装在Windows计算机上。

建议在下面的两个框中安装相同版本的Python。
  方框[A]:可连接互联网的机器
  Box [B]:未联网的机器,例如开发箱所在的
            已安装DB2 V11.1 M3 FP3

在此示例中,使用下面的知识中心页面,将获得8个模块/产品:
Python下载和相关资源
https://www.ibm.com/support/knowledgecenter/en/SSEPGG_11.1.0/com.ibm.sw

  • Python
  • SQLAlchemy
  • Django
  • ibm_db和ibm_db_dbi扩展(包括源代码)
  • 用于SQLAlchemy 0.4的ibm_db_sa适配器
  • 用于Django 1.0.x和1.1的ibm_db_django适配器
  • setuptools程序
  • IBM数据服务器驱动程序包(DS驱动程序)

它描述了如何取消网络安装机器。但是 步骤也应该在一个盒子的机器上进行。

希望这会有所帮助。

答案 1 :(得分:0)

最后,我能够成功安装包含'ibm_db_dll的 ibm_db 软件包。删除 IBM_DB_HOME 环境变量并运行此命令'easy_install ibm_db'后,ibm_db软件包已成功安装。

答案 2 :(得分:0)

我个人无法在我的Python 3.8安装上安装IBM DB v3.0.1。有许多错误,什么都没有。但是,在3.7.4安装上我没有遇到任何问题。

答案 3 :(得分:0)

使用旧版本的Python: 我尝试在许多版本上安装ibm-db。我发现无法为Python 3.8.1和3.8.2版本安装ibm-db,而可以为3.7.7版本安装。但也请注意不要使用3.6版或更早版本,因为旧版本中存在Python执行问题。总共,下载高于3.6版和低于3.8版的Python。