Соединение ODBC с iSeries дает нечетное количество результатов - PullRequest
1 голос
/ 11 марта 2009

Я использую UnixODBC с PHP 5.2.4 на Ubuntu 8.04 LTS и пытаюсь получить все результаты из таблицы, расположенной в IBM i, и скопировать их в локальную таблицу MySQL.

Код работает без ошибок, но я получаю больше строк, чем содержится в IBM i.

Я должен получить 25 613 строк, но PHP сообщает, что в базу данных MySQL вставлено 25 630 строк:

$counter = 0;
while($row = odbc_fetch_array($result)) {
    //Insert into MySQL using Zend Framework
    $counter++;
}
echo $counter;

Когда я смотрю в базу данных MySQL, некоторые строки на самом деле дублируются. Я увидел в документации odbc_fetch_array () об ошибочном поведении при обращении к IBM i, но при попытке этого решения скрипт запускается и работает так, что он никогда не завершается.

Есть идеи, что проверить?

1 Ответ

0 голосов
/ 11 марта 2009

Одни и те же строки дублируются каждый раз? Если да, то есть ли в этих записях что-то уникальное, что может подсказать, почему они дублируются?

Возможно, используйте другую привязку для получения результатов - например, odbc_fetch_row(). Что говорит odbc_num_rows()?

Эти и другие методы могут помочь вам устранить ошибку.

...