奇数の結果を与えるiSeriesへのODBC接続
-
10-07-2019 - |
質問
Ubuntu 8.04 LTS上のPHP 5.2.4でUnixODBCを使用し、IBM iにあるテーブルからすべての結果を取得し、ローカルMySQLテーブルに複製しようとしています。
コード面では、エラーなしで機能していますが、IBM iに含まれている行よりも多くの行になります。
最終的に25,613行になるはずですが、PHPは25,630行がMySQLデータベースに挿入されていると報告しています:
$counter = 0;
while($row = odbc_fetch_array($result)) {
//Insert into MySQL using Zend Framework
$counter++;
}
echo $counter;
MySQLデータベースを見ると、行の一部が実際に複製されています。 odbc_fetch_array() IBM iにアクセスするときの不安定な動作に関するドキュメントが、その解決策を試みると、スクリプトが終了したように見えずに実行されて実行されます。
チェック対象についてのアイデアはありますか
解決
毎回同じ行が複製されていますか?もしそうなら、これらのレコードについてユニークなものがあり、それらがなぜ複製されるのかを示唆することができますか?
おそらく、別のバインディングを使用して結果を取得します- odbc_fetch_row()
など。 odbc_num_rows()
は何と言っていますか?
これらおよびその他の手法は、バグを特定するのに役立つ場合があります。
所属していません StackOverflow