2017-08-29 264 views
0

我想通过Jupyter笔记本从我的机器连接到DB2主机。 我在一台32位机器的Windows 7机器上。 我使用Python 3.6.1版使用python连接到DB2数据库

做了一些研究,从我能在网上有两种方法可以做到这一点找到....

: pyodbc, IBM_DB

我想我在另一篇文章中读到,官方的方式是使用ibm_db。 我尝试了几次与pyodbc,但无法让它的工作。

Error i am getting in pyodbc

所以我想我会尝试的ibm_db。 我试过使用pip和easy_install安装ibm_db,但我不断收到以下消息。

Error Message

可能有人请提供一些指导?

此外,我的ODBC数据源管理员窗口,系统DSN选项卡如下所示 我试图使用pyMainframe DSN,但无法让它工作。 正如你所看到的我安装了一个iSeries Access ODBC驱动程序。不确定python是否可以使用它。

System DSN

我有点小白。提前致谢。如果您需要任何附加信息,请告诉我您是否需要任何其他信息

+0

您的Ms-Windows工作站上是否安装了“DB2 Run Time Client”? ibm_db将使用它。请澄清这个问题,以指定您是否连接到DB2 for Z/OS或DB2 for i-series。你在启动python之前设置了IBM_DB_HOME环境变量吗? – mao

+0

我正要尝试安装以下... IBM数据服务器客户端....这会安装我需要什么? https://www-01.ibm.com/marketing/iwm/iwm/web/reg/download.do?source=swg-idsc97&S_PKG=win32&lang=en_US&cp=UTF-8&dlmethod=http。它是用于Z/OS的DB2。不,我没有设置IBM_DB_HOME,因为我不确定我需要设置它。感谢您的帮助 – hfrog713

+0

“IBM Data Server Client”也可以工作(运行时客户端较小,仅限驱动程序)。向DB2的Z/OS DBA询问安装Windows DB2客户端的版本+修订包(因为在这种情况下,相关的绑定文件已经绑定到DB2 for Z/OS数据库)。您可能还需要db2jcc_license_cisuz.jar文件(询问您的DBA是否有一个,否则从IBM的护照优势网站获取)。 IBM_DB_HOME变量值将是安装时的DB2客户端二进制文件的位置。 DBA还会告诉您要使用的DB2连接网关地址。 – mao

回答

0

您未连接到连接到中端系统(IBM i又名iSeries/AS-400)的大型机(z/OS)完全不同的机器和操作系统。

使用ibm_db需要IBM DB2连接产品($$$)连接到IBM i。

你只想通过pyodbc(?)使用ODBC连接。

+0

我试图连接的目标系统是z/OS主机 – hfrog713

+0

那么为什么你要使用iSeries ODBC驱动程序? – Charles

+0

因为我是一个没有经验的noob,并且从另一个项目中获得了它。我假设它是一个iSeries,但几分钟前才发现它是z/OS大型机。你知道我可以使用什么驱动程序吗? – hfrog713

1

问题是我使用python 3.6.1 对于python 3,支持的唯一版本是3.4.0。 没有其他版本的3.4支持,不确定关于< 3.4

谢谢大家的帮助。

这里是我找到答案的地方。 +一点点试错。 https://groups.google.com/forum/#!topic/ibm_db/6-sOpk4zkCU

+0

Python 3.6.2(32位)在Win7 64位上与DB2客户端V11.1(32位)和ibm_db 2.0.7协同工作。但是,我看到Python.org指出,对于32位Windows XP,当前支持的Python最高为3.4。我没有32位Win7来尝试。 – mao