AS400(System i)で動作している基幹システムを管理している者です。
WindowsServer上のphpで動作するWebアプリを使って、AS400のデータを照会し、PCにDownloadする処理を作ろうと思っているのですが、AS400へのアクセスができずに困っています。
具体的には
Fatal error: Call to undefined function db2_connect() in C:\Inetpub\wwwroot\........php on line 3
というようなエラーです。
JDBCドライバはjt400.jarを同じWindowsServer上に置き、環境変数に
set CLASSPATH=%CLASSPATH%;(jt400.jarの置いてあるフォルダ)
と設定してあります。
あるいはWindowsServerのphpではdb2関数は何等かの方法で追加インストールする必要があるのでしょうか?
IBMに問い合わせても、JDBCドライバに関しては自社製品でないせいもあり、全く教えてくれませんので、経験者の方のお知恵を拝借したくお願い致します。
お礼
anmochi コメント有難うございました。 JDBCは使えないんですか... IBMのアンサーラインではJDBCドライバか、IBM DB2 Connectを使えということを言っていました。前者はIBM製品ではないので後者のほうを薦めていました。 通信の問題もエクステンションが解決してくれるのでしょうか? でもこれはプロトコルでいうと下層の話だと思いますので、このエラーは関数がphpに実装されていないというエラーのようなので、教えて頂いた拡張モジュールをインストールする必要はあるんですね。 コンパイルされたDLLが無いようなので、コンパイルするのが私にはハードルが高そうですが調べてみます。 どうも有り難うございました。
補足
補足します。 JDBCではなく、ODBCドライバを使ったら、難なく接続できました。 ただし、phpのdb2関数ではなく、odbc関数を使う形になります。 拡張モジュールをインストールしなくても標準で使えました。 db2関数を使った場合とのレスポンス比較は判りませんが、取りあえず繋がるには繋がりましたのでこれで作り込んでみたいと思います。 両方ためされた方がおられましたら、情報頂けるとありがたいです。