繁体   English   中英

在 Linux 上使用 pyodbc 连接到 DB2

[英]Connecting to DB2 with pyodbc on Linux

我正在尝试在 Linux 上将 DB2 与 pyodbc 连接,但出现错误

"('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'IBM DB2 ODBC Driver' : file not found (0) (SQLDriverConnect)")## Heading ##

是否需要安装或我缺少路径?

# Create a connection object
cnxn = pyodbc.connect(
    'Driver={IBM DB2 ODBC Driver}; '
    'Hostname=nn.nn.nnn.nnn; '
    'Port=50000; '
    'Protocol=TCPIP; '
    'Database=myDB; '
    'CurrentSchema=myschema; '
    'UID=user1; '
    'PWD =test1;'
    )

我尝试按照https://www.ibm.com/support/knowledgecenter/en/SSEPGG_10.5.0/com.ibm.db2.luw.apdv.cli.doc/doc/t0061216.html 上的链接进行配置

我做了一个 yum install unixODBC

但是我找不到安装 libdb2.so 以配置 odbcinst.int 的路径,如下所示https://www.ibm.com/support/knowledgecenter/en/SSEPGG_10.5.0/com.ibm.db2.luw.apdv .cli.doc/doc/t0061216.html

libdb2.so 的路径是什么?

驱动程序管理器 (unixODBC) 不为 Db2 rdbms 提供驱动程序。 通常,您将使用 IBM 提供的与 unixODBC 配合使用的 Db2 驱动程序。

如果您的 Db2-server 远离 Linux,那么您需要单独安装 Db2 驱动程序并对其进行配置。

如果您的 Db2-server 已经本地安装在 Linux 上,那么它已经包含一个本地 Db2-client,并且库从 Db2-instance 主目录 sqllib/lib64 目录(例如 /home/db2inst1/sqllib/lib64 将包含相关库的符号链接(如果您的 Db2 实例称为“db2inst1”)。 在这种情况下,您不需要安装任何其他东西。

否则,有各种 IBM 提供的 Db2 客户端,因此您必须选择正确的一个,这取决于您的 Db2 服务器平台和您的编程需求(不同驱动程序的不同占用空间)。 还有第三方驱动,这里不提。 有关 Db2 客户机类型,请参见此处: https : //www.ibm.com/support/knowledgecenter/en/SSEPGG_9.5.0/com.ibm.swg.im.dbclient.install.doc/doc/c0022612.html

[ 1 ] 如果您的远程 Db2 服务器在 Linux/Unix/Windows/zLinux 上运行,则从 Passport Advantage 下载您的 IBM 驱动程序(为您的 Db2 服务器版本选择最新的驱动程序版本)。 您的 Db2 DBA(如果有)也应该有一个可安装的副本,尽管从 Passport Advantage 网站下载最新版本总是明智的,只要您有该访问权限。

如果您的 Db2-server 在 Z/OS 或 i-Series 上运行,并且您的公司已经安装并配置了 Db2-connect 网关服务器,那么您可以使用与上述 [1] 相同的驱动程序。 Db2-connect 网关是一个单独的主机名,它执行协议转换(如有必要)并允许以一定的价格更轻松地获得许可。

如果您的远程 Db2-server 在 i-Series(以前称为 OS/400)上运行并且您的公司没有使用 Db2-connect 网关,请向您的 i 管理员询问正确的驱动程序并将其安装在 Linux 上。 对于 i 系列,您可以使用来自 IBM 或第三方的驱动程序,只要它支持 Linux 上的 ODBC/CLI 适用于您的版本和位数。

如果在z / OS和您的公司您的DB2服务器运行使用DB2的连接网关(即不是您直接从Linux的连接到DB2换-Z / OS),那么你就需要使用相同的驱动程序中[1] 但另外将合适的许可证文件应用到您的 Linux Db2 驱动程序。 您的管理员应该知道详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM