gpt4 book ai didi

php - 使用 PHP 而非 ODBC 成功连接到 DB2?

转载 作者:行者123 更新时间:2023-12-04 10:48:19 24 4
gpt4 key购买 nike

需要知道是否 1) 是否有人成功建立了连接和 2) 使用 PHP 查询了远程 DB2 服务器,以及 3) 如果是如何?

我为 db2 安装了 PECL 扩展

[db2]
扩展=ibm_db2.so

但不知道如何使用它。我找到的所有示例都使用 ODBC 样式的 dsn,我不想使用 ODBC。

更新:根据此处的文档 (http://www.redbooks.ibm.com/abstracts/sg247218.html),名义上可以使用 ibm_db2 驱动程序(无 ODBC),但其中描述的方法不完整或已过时。

最佳答案

使用 PHP,您只有一种选择:ODBC。

以下是有关如何在 Ubuntu 上连接到 DB2 for i(在 IBM i 上)的分步说明:

从 IBM 下载免费的 iSeriesAccess-6.1.0-1.2.i386.rpm 文件(您必须创建一个免费帐户才能获取它)

将 RPM 文件转换成 Ubuntu 可以理解的格式:sudo alien iSeriesAccess-6.1.0-1.2.i386.rpm

安装生成的 .deb:sudo dpkg -i iseriesaccess_6.1.0-2.2_i386.deb

将已安装的 iSeries 库复制到 Ubuntu 期望的位置:sudo cp/opt/ibm/iSeriesAccess/lib/*/usr/lib

编辑/etc/odbc.ini 文件以包含:

[primary]
Description = primary
Driver = iSeries Access ODBC Driver
System = IP_ADDRESS
UserID = USERNAME
Password = PASSWORD
Naming = 0
DefaultLibraries = QGPL
Database = XXXXXXXXXX
ConnectionType = 0
CommitMode = 2
ExtendedDynamic = 0
DefaultPkgLibrary = QGPL
DefaultPackage = A/DEFAULT(IBM),2,0,1,0,512
AllowDataCompression = 1
LibraryView = 0
AllowUnsupportedChar = 0
ForceTranslation = 0
Trace = 0

编辑/etc/odbcinst.ini 文件以包含:

[iSeries Access ODBC Driver]
Description = iSeries Access for Linux ODBC Driver
Driver = /usr/lib/libcwbodbc.so
Setup = /usr/lib/libcwbodbcs.so
NOTE1 = If using unixODBC 2.2.11 or later and you want the 32 and 64-bit ODBC drivers to share DSN's,
NOTE2 = the following Driver64/Setup64 keywords will provide that support.
Driver64 = /usr/lib/lib64/libcwbodbc.so
Setup64 = /usr/lib/lib64/libcwbodbcs.so
Threading = 2
DontDLClose = 1
UsageCount = 1

然后创建与 PDO 的连接:

$pdo = new PDO("odbc:DRIVER={iSeries Access ODBC Driver};SYSTEM=$server;PROTOCOL=TCPIP", $username, $password);

关于php - 使用 PHP 而非 ODBC 成功连接到 DB2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17997669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com