Pregunta

Estoy usando UnixODBC con PHP 5.2.4 en Ubuntu 8.04 LTS e intento obtener todos los resultados de una tabla ubicada en un IBM i y replicarlos en una tabla MySQL local.

En cuanto al código, funciona sin errores, pero estoy terminando con más filas que las que contiene IBM i.

Debería terminar con 25,613 filas, pero PHP informa que se están insertando 25,630 filas en la base de datos MySQL:

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

Cuando miro en la base de datos MySQL, algunas de las filas están duplicadas. Vi una nota en el odbc_fetch_array () documentación sobre comportamiento errático al acceder a IBM i, pero intentar esa solución hace que el script se ejecute y se ejecute sin que parezca que termina alguna vez.

¿Alguna idea sobre qué verificar?

¿Fue útil?

Solución

¿Se duplican las mismas filas cada vez? Si es así, ¿hay algo único en estos registros que pueda indicar por qué están duplicados?

Quizás use otro enlace para obtener resultados, como odbc_fetch_row () . ¿Qué dice odbc_num_rows () ?

Estas y otras técnicas pueden ayudarte a concentrarte en el error.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top