ODBC 経由で Netezza データベースに接続しようとしています (あまり重要ではありません)。
重要なのは、Zend モデルで手動の odbc 呼び出しをラップしようとしているということです。Zend 用の ODBC アダプターはありません。私が今遭遇しているのと同じ問題を抱えているものを見つけたので、それが同じ問題であり、解決できれば手動のハッカーを捨てることができることを願っています. PDO オブジェクトも試しましたが、同じ問題がありました。
したがって、コードは次のようになります (パラメーターは公開用に明らかに偽造されています)。
$conn = odbc_connect('dsn','username','password');
$sql = "SELECT site_name FROM sites";
$test = odbc_exec($conn, $sql) or die(odbc_errormsg());
echo "Made it this far.";
問題は次のとおりです。これらの 4 行をスタンドアロン ファイルに貼り付けると、機能し、最後の行がエコーされます。その後、実際に $test からデータを取得して吐き出すことができます。ただし、これらの 4 行をカスタム モデル内のメソッドに貼り付けると、odbc_exec() は暗黙のうちに失敗します。その最後の行はエコーしません。接続は確立されており、$conn は完全にリソースですが、odbc_exec() の間に停止するだけです。巨大なクエリの場合、非常に時間がかかり、停止/失敗/何もしません。
なぜこれが起こっているのか分からず、気が狂ってしまいます。Zend がこれをいじってはいけません。これらの行は完全にスタンドアロンです。
どんな助けでも大歓迎です、ありがとう。