Ubuntu 8.04 LTS에서 UnixODBC를 PHP 5.2.4와 함께 사용하고 IBM i에있는 테이블에서 모든 결과를 가져 와서 로컬 MySQL 테이블에 복제하려고합니다.iSeries에 ODBC 연결 Odd 결과 수
코드없이 오류없이 작동하지만 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 데이터베이스에서 볼 때. IBM i에 액세스 할 때 비정상적인 동작에 대한 odbc_fetch_array() 설명서를 읽었지만 해당 솔루션을 사용하면 스크립트가 실행되지 않고 끝나지 않고 실행됩니다.
확인할 사항에 대한 아이디어가 있으십니까?
odbc_num_rows()는 '-1'을 반환하고 카운터가있는 odbc_fetch_row()를 수행하면 25,630을 반환합니다. – dragonmantank
odbc_num_rows()가 제대로 작동하지 않는 이유가 확실하지 않지만 MySQL 테이블이 잘리지 않아 중복 행이 발생한다는 것을 알았습니다. odbc_fetc_row()로 전환 한 후 모든 것이 올바르게 동기화되는 것 같습니다. – dragonmantank