Linux用のDB2 Express-C V9.7、unixODBC php5-odbc、およびiSerie-5.4.0-1.6ドライバをインストールしましたが、接続しようとしました。 DB2サーバーは、私にこのメッセージを返すPHPに:PHPでDB2インスタンスにODBC接続が失敗しました5.3.6-13ubuntu3.6
[unixODBC][IBM][iSeries Access ODBC Driver]Communication link failure. comm rc=10061 -
CWBCO1049 - The iSeries server application is not started, SQL state 08004 in SQLConnect
は、私は私がポート50000
を聞くDB2伝える-anp 50000
netstatコマンドの代わりにポート8741に接続しようとPHPのtcpdumpと気づきましたこれは私の設定ファイルです
/etc/odbcinst.ini:
[DB2]
Description = ODBC for DB2
Driver = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
Setup = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
FileUsage = 1
Threading = 2
DontDLClose = 1
UsageCount = 1
/etc/odbc.ini
[local_db2]
Driver = DB2
System = localhost
User = db2inst1
Password = MySecretPassword
Port = 50000
Database = dbname
Option = 1
そして、私のPHPスクリプト:
$dsn = "local_db2";
$user = "db2inst1";
$passwd = "MySecretPassword";
$conn = odbc_connect($dsn,$user,$passwd);
echo "votre id de connexion est : $conn";
if ($conn <= 0) {
echo "\nErreur\n";
}
else { echo "\nSuccès\n";
}
odbc_close($conn);
今私は、DB2に接続することができますサーバ。私は/ etc/servicesのdb2inst1のポートを変更しましたが、サーバーは私に応答しません。
私のエラーメッセージは、しばらくしてからです。 [unixODBC] [IBM] [System i Access ODBC Driver]通信リンクの障害です。 COMMのRC = 8405 - CWBCO1047 - SQLConnectの
でのIBM iサーバー・アプリケーションは、接続を切断し、SQL状態08S01結論:
最初の問題は、私ので、私の構成のための適切なドライバではなかったのiSeries用のドライバでしたlinux用のドライバを含むDB2 ODBC CLI driverがインストールされています。
第2の問題はODBC構成でした。
私の作業/etc/odbc.ini設定:
[DBNAME]
Driver=DB2
私の作業/etc/odbcinst.ini設定:
[ODBC]
Trace = yes
Tracefile = /tmp/odbc.log
[DB2]
Description = DB2 Driver
Driver = /opt/ibm/db2/V9.7/lib32/libdb2.so
FileUsage = 1
DontDLClose = 1
は、あなたが/ tmpにあなたのODBC接続の詳細を得ることができます/odbc.log odbc接続をテストするisqlプログラムも使用しました。 このプログラムはunixodbc linuxパッケージに含まれていました。
ありがとうございます。
Nicolas
私はDB2でnewbyですが、私のシステムにはwrkactjobとstrhostsvrユーティリティはありません。 私はそれがOS/400のコマンドだと思っていますが、ubuntu LinuxでDB2を実行しています –
LinuxでDB2を実行している場合、なぜiSeries Access DB2ドライバを使用していますか? [DB2 ODBC CLIドライバー](http://www-01.ibm.com/support/docview.wss?uid=swg21418043)などの標準DB2ドライバーを使用している必要があります。 iSeriesドライバーは、DB2/400に接続するためのものです。 – jamesallman
あなたの情報をお寄せいただきありがとうございます。 –