PDA

Ver la Versión Completa : Como hacer un bulk insert con dbExpress.


intelectoall
27-08-2007, 11:53:28
Estoy desarrollando una aplicación que trabaja con una base de datos interbase en red.

En una de las pantallas, despues del usuário definir algunas opciones tengo que crear unos 5000 registros en várias tablas.

Estoy usando ClientDataSet, DataSetProvider y TMidasDataSet para ejecutar todos los inserts. Tengo unos 5 o 6 DataSets de detalles y voy ańadindo todos los registros y luego, al final, le doy un ApplyUpdates en el ClientDataSet master.

El problema es que el proceso tarda unos 5 minutos si estoy en un terminal que no sea donde esta instalado el Interbase... y más o menos 1 minuto si estoy en el servidor (donde está el Interbase).

Busco una forma de hacer con que este proceso sea más rápido.

Con el ADO lo que hacia es usando el ADOCommand, crear una lista de INSERTS:

INSERT INTO XXX () VALUES ()
INSERT INTO XXX () VALUES ()
INSERT INTO XXX () VALUES ()
INSERT INTO XXX () VALUES ()
INSERT INTO XXX () VALUES ()
INSERT INTO XXX () VALUES ()

y luego ejecutar todo de una sola vez en el servidor, pero en el dbExpress no he encuentrado nada parecido.

Alguém me puede ayudar?