3

RHEL5でPHP5.3.3を使用しています。TeradataへのODBC接続に必要なすべてのドライバーとアドオンをインストールしました。私はそれをテストするための簡単なスクリプトを書きました:

$con_string = "DRIVER={Teradata};DBCName=**HOST**; DATABASE=**database**;";
$con = odbc_pconnect( $con_string , "user", "pass" );
var_dump($con);
echo 'here';
$res = odbc_exec($con, "SELECT id FROM database.table");
echo 'there';
var_dump($res);

出力は次のとおりです。

タイプのresource(5)(odbcリンク永続)

hereSegmentation障害


明らかに接続は機能します。他のコマンドも試しましたが、機能するものと機能しないものがあります。 問題なく正しい情報を返しますodbc_tables()odbc_procedures()ただし、SQLクエリに関連するものはすべてセグメンテーション違反になります。ODBCに対してトレース/デバッグをオンにすることができませんでした。

どんな助けでも大歓迎です!

4

3 に答える 3

2

resultset2 つの異なる に対して を 2 回使用すると、この問題が発生しましたodbc_execunset($res)それぞれの前に解決されたodbc_execため、odbc_exec常にクリーンな変数の使用が開始されます。

「なぜ」という適切な説明はまだありません (おそらく、以前のresultset変数には正しい「終了」が必要なのでしょうか...?) が、これによりセグメンテーション違反が回避されます

于 2013-10-20T19:34:54.760 に答える