Buenos dias, muy comedidamente solicito su colaboración para tratar de dar solución a este problema, la verdad es que llevo más de una semana tratando de dar solución, he consultado varias paginas y foros, pero nada que doy con la solución.
El caso es el siguiente: Deseo pasar una información de una tabla en DBF a otra tabla en FIREBIRD, pero no permite hacer la respectiva grabación de los datos. Se pueden visualizar desde la tabla DBF pero no permite la grabación en la tabla FIREBIRD.
Uso: S.O. Windows 7, Appserver 2.5, Firebird 2.5
Código:
<?php
$Conexion_DB = ibase_pconnect('C:\FIREBIRD\BASES\IMPPDF.FDB','SYSDBA','masterkey');
$Transaccion = ibase_trans("IBASE_WRITE", $Conexion_DB);
$Comando = 'DELETE FROM CUENTAS WHERE CODIGO > 0;';
$nResultado = ibase_query($Transaccion, $Comando);
ibase_commit($Transaccion);
ibase_close($Conexion_DB);
echo ">>>>> PROCESO DE BORRADO TERMINADO". "<br />";
echo ">>>>> ESTAMOS REALIZANDO MIGRACION DE DBF A FIREBIRD". "<br />";
$Conexion_DB = ibase_pconnect('C:\FIREBIRD\BASES\IMPPDF.FDB','SYSDBA','masterkey');
$Transaccion = ibase_trans("IBASE_WRITE", $Conexion_DB);
$Comando ='insert into cuentas (codigo,nombre,cedula,direccion,perifact,barrio) values ('."$cod _usu".','."$nom_usu".','."$ced_usu".','."$dir_usu".','."$per_fac".','."$bar_usu".');';
$db = dbase_open('c:\windows\media\lec\factur2.dbf', 0); //PERMITE LA CONEXION CON LA TABLA DESEADA
if ($db)
{
$numero_registros = dbase_numrecords($db); //DETERMINA EL NUMERO DE REGISTROS DE LA TABLA
for ($i = 1; $i <= $numero_registros; $i++)
{
$temp = dbase_get_record($db, $i); // procesar cada uno de los registros
$cod_usu=$temp[0]; //ALMACENA EL CONTENIDO DE UN CAMPO EN UNA VARIABLE
$nom_usu=$temp[1];
$ced_usu=$temp[2];
$dir_usu=$temp[3];
$per_fac=$temp[5];
$bar_usu=$temp[18];
echo $cod_usu."\t";
echo $nom_usu."\t";
echo $ced_usu. "<br />";
$nResultado = ibase_query($Transaccion, $Comando);
echo ">>>>> PROCESO DE INSERCION EXITOSO <<<<<". "<br />" ;
}
ibase_commit($Transaccion);
ibase_close($Conexion_DB);
}
?>
pero me genera el siguiente error (Resalto en rojo las lineas a las que me esta direccionando el error)
Código:
>>>>> PROCESO DE BORRADO TERMINADO
>>>>> ESTAMOS REALIZANDO MIGRACION DE DBF A FIREBIRD
2 ANGELICA MARIA PORRAS SALAZAR 1098615598
Warning: ibase_query() [function.ibase-query]: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, column 78 , in C:\AppServ\www\sidutec\impresion.php on line 44
>>>>> PROCESO DE INSERCION EXITOSO <<<<<
3 SANDRA MILENA RIA�O CELIS 63531217
Warning: ibase_query() [function.ibase-query]: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, column 78 , in C:\AppServ\www\sidutec\impresion.php on line 44
>>>>> PROCESO DE INSERCION EXITOSO <<<<<
4 LEIDY CAROLINA NARANJO SOLANO 63453717
Doy claridad que el PHP y el FIREBIRD si funcionan adecuadamente, he realizado pruebas con ejemplos y me permite insertar y consultar registros.
Agradezco la colaboración u orientación que me puedan brindar