簡體   English   中英

使用PHP成功連接到DB2而不使用ODBC?

[英]Successfully connect to DB2 using PHP NOT using ODBC?

需要知道1)是否有人成功建立了連接,2)是否使用PHP查詢了遠程DB2服務器,以及3)如何?

我為db2安裝了PECL擴展

[db2] extension=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);

對於DB2 LUW,您至少需要從此處安裝適用於ODBC和CLI的DB2數據服務器驅動程序的適當版本。 它提供了PHP模塊使用的必需庫。

您可以使用pecl ibm_db2擴展。 它使用DB2呼叫級別接口(DB2 CLI),因此您必須在系統中安裝IBM db2 CLI。

這是PHP DOC頁面:

http://php.net/manual/pt_BR/intro.ibm-db2.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM