In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Traspaso de DBF a SQLite

Foro de Xailer profesional en español
Responder
correo
Mensajes: 109
Registrado: Mar Nov 22, 2005 7:15 pm

Traspaso de DBF a SQLite

Mensaje por correo »

¿Hay alguna forma más rápida que esta?
Estoy intentando importar una tabla de 40000 registros y al de 1 hora
solo lleva 12000
with object ::oDbfDiario
do while ! :eof()
nReg ++
::oSQLDiario:FastAddNew()
::oSQlDiario:ID := nReg
::oSQLDiario:SaveFrom(:GetRecord())
::oSQLDiario:FastUpdate()
:Skip()
enddo
end with
Gracias
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9441
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Traspaso de DBF a SQLite

Mensaje por ignacio »

JJG,
Es posible que mejore utilizando directamente instrucciones
oDS:Execute(cInsert). Le recomiendo igulamente que utilice le comando Import
existente en la utilidad sqlite3 (http://www.sqlite.org/sqlite.html).
En un futuro es posible que tengamos la posibilidad de utilizar sentencias
SQL precompiladas que admitan paso de parametros, lo cual también supondría
una mejora evidente en operaciones másivas como AddNew()
Un saludo,
--
Ignacio Ortiz de Zúñiga
[Soporte Xailer]
[Xailer support]
"JJG Soft" <correo@jjgsoft.biz> escribió en el mensaje
news:483fd817$[email=1@ozsrv2.ozlan.local...]1@ozsrv2.ozlan.local...[/email]
> ¿Hay alguna forma más rápida que esta?
>
> Estoy intentando importar una tabla de 40000 registros y al de 1 hora solo
> lleva 12000
>
> with object ::oDbfDiario
> do while ! :eof()
> nReg ++
> ::oSQLDiario:FastAddNew()
> ::oSQlDiario:ID := nReg
> ::oSQLDiario:SaveFrom(:GetRecord())
> ::oSQLDiario:FastUpdate()
> :Skip()
> enddo
> end with
>
> Gracias
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder