2

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 ドライバー (sans ODBC) を使用できますが、そこに記載されている方法論は不完全または時代遅れです。

4

3 に答える 3

4

PHP を使用する場合、選択肢は 1 つだけです。それは、ODBC です。

Ubuntu で (IBM i 上の) DB2 for 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);
于 2013-08-01T15:30:22.733 に答える
1

pecl ibm_db2 拡張機能を使用できます。DB2 Call Level Interface (DB2 CLI) を使用するため、システムに IBM db2 CLI をインストールする必要があります。

これは PHP DOC ページです。

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

于 2016-03-01T14:20:25.610 に答える