[PHP-users 28346] Re: PHP5 - AS400 DB2 V5.1 by ISeriesAccess ODBC FC4

Kenichiro Fuji k_fuji @ sales.mitsumi.co.jp
2006年 2月 7日 (火) 12:46:03 JST


冨士です。
>柴田さん
一歩前進しましたね。おめでとうございます。

>/etc/odbcinst.iniに
>[iSeries Access ODBC Driver]
>Description             = iSeries Access for Linux ODBC Driver
>Driver          = /opt/ibm/iSeriesAccess/lib/libcwbodbc.so
>Setup           = /opt/ibm/iSeriesAccess/lib/libcwbodbcs.so
>Threading               = 2
>DontDLClose             = 1
>UsageCount              = 1
>というエントリーが追加されました
これが出来たら、odbc.iniの設定が必要です。
ODBCConfigurationの項を見ていただくとそのあたりが書いてあります。
ODBCConfigというコマンドを実行すると、GUIでの設定画面(!)が出るので
#そのためにぼくはgnomeを入れたヘタレです(汗
これで設定するのが近道でしょうね。
windowsのodbcデータソースアドミニストレータを見ながら、作成しました。
そうやって作った例です。
システムとかIDとかパスワードとかデフォルトライブラリとかは適当に
直してください。

[HONODBC]
Description     = iSeries Access ODBC Driver
Driver          = iSeries Access ODBC Driver
System          = XXX.XXX.XXX.XXX
UserID          = hoge
Password        = fuga
Naming          = 0
DefaultLibraries        = hogefuga
Database                =
ConnectionType          = 2
CommitMode              = 2
ExtendedDynamic         = 1
DefaultPkgLibrary       = hogefuga
DefaultPackage          = A/DEFAULT(IBM),2,0,1,0,512
AllowDataCompression    = 1
LibraryView             = 0
AllowUnsupportedChar    = 1
ForceTranslation        = 1
Trace           = 0

参考までにodbcの設定確認のために書いたものです。
php4.3.9で動作はしました。
#でも文字化けが直らなくて投げちゃった(大汗

<?PHP
$sql = "SELECT * FROM AAAAA.BBBBB.CCCCC CCCCC";
$arr = dbquery($sql);
echo "<b>SQL:</b>$sql\n";
echo "<table borders=\"1\">";
    for ($i=0;$i<count($arr);$i++){
echo "<tr><td>".$arr[$i][1]."</td></tr>\n";
}
echo "</table>";
function dbquary($sql){
$arr=array();
$DSN="HONODBC";
$conn=odbc_connect($DSN,"hoge","fuga");
$rs=odbc_exec($conn,$sql);
$x=1;
while (odbc_fetch_row($rs)){
 for ($y=1;$y<=odbc_num_fields($rs);$y++)
  $arr[$x][$y]=odbc_result($rs,$y);
 $x++;
}
if ($x>1)
  return $arr;
}
?>

AAAAA.BBBBB.CCCCCのあたりが肝かもしれません。
AAAAAがAS400のマシン名?で、BBBBBがライブラリ、CCCCCが
実際にアクセスしたいテーブルですかね。
ただ、これがphp5で動くかどうかは未検証です。

ともかく、もうちょっとだと思いますので頑張ってください。



PHP-users メーリングリストの案内