1

新しい仕事、新しい部署、そして彼らは as/400 ですべてを行います。RPG IV については何も知らないので、PHP の知識をチームに役立てたいと思っています。

PHP を as/400 に接続しようとしています。コードは次のとおりです。

<?php
$database = '*****';
$user = '*****';
$password = '*****';
$hostname = '*****';
$port = 446;

$conn_string = "DRIVER={IBM DB2 ODBC DRIVER};DATABASE=$database;HOSTNAME=$hostname;".
"PORT=$port;PROTOCOL=TCPIP;UID=$user;PWD=$password;";
$conn = db2_connect($conn_string,'','');

if ($conn) {
echo "Connection succeeded.";
db2_close($conn);
}
else {
echo "Connection failed.<br />";
echo db2_conn_error()."<br />";
echo db2_conn_errormsg()."<br />";
}
?>

返されるエラーメッセージは次のとおりです。

接続に失敗しました。42968 [IBM][CLI Driver] SQL8002N DB2 Connect 製品がないか、ライセンスが無効なため、ホストに接続しようとして失敗しました。SQLSTATE=42968 SQLCODE=-8002

現在、ラップトップで Apache 2.4 サーバーを実行しています。PHP 5.5 を使用しています。ロードされた IBM_db2 拡張機能は 1.9.6 です。会社のラップトップには、IBM i Access for Windows と、いくつかの IBM 開発者ソフトウェア パッケージがインストールされています。私はラップトップから他に何も見逃していないと思います...何が欠けていますか?

4

1 に答える 1

4

DB2 for i は、DB2 for LUW (または z/os) とは異なる方言です。IBM DB2 ODBC ドライバーの代わりに、クライアント アクセス ドライバーを使用する必要があります。 DRIVER={iSeries Access ODBC Driver};

于 2014-12-08T20:32:10.627 に答える