Ver Mensaje Individual
  #3  
Antiguo 22-06-2004
Avatar de argami
argami argami is offline
Miembro
 
Registrado: jun 2003
Ubicación: Barcelona
Posts: 57
Reputación: 21
argami Va por buen camino
Gracias por contestar tan rapido varias cosas que me haz dicho:

Cita:
Empezado por guillotmarc
Tienes que cambiar de enfoque.
Tienes toda la razón pero con lo que me dices hay cosas que no tengo tan claras ejemplo:


Cita:
Empezado por guillotmarc
Por ejplo. puedes vaciar el ClientDataset cada 1000 registros, cerrandolo y volviendolo a abrir vacío (para ello debe tener una cláusula where del tipo codigo = -1).

He echo esta prueba y me resulta en lo mismo no me ayuda en nada.


Cita:
Empezado por guillotmarc
Aunque personalmente, en este tipo de importaciones masivas, prefiero utilizar directamente el SQLQuery con sentencias INSERT INTO.
Tienes razon y van muy rapido pero el planteamiento de programa es en 3 capas
1- Datos (DBExpress)
2- Accesso (TClientDataSet, TDataSetProvider)
3- Pantallas

Por lo cual el acceso desde las pantallas es solo a travez de los client dataset y los providers. por lo que me surge la duda de como hacer cuando no sea una modificacion masiva si no mas bien un acceso solo para pasar por ejemplo un movimiento a un histrorico de 500000 registros

Cita:
Empezado por guillotmarc
Nota: Igualmente puedes definir una transacción, para que solo cada 1000 registros se realize un Commit.
Esto me gustaria que me lo explicaras porque trabajando con dbexpress no veo como hacer lo de la transaccion (si estuviera con IBComponents no diria nada)

En todo caso te estoy agradecido por ttu ayuda y si pudieras tu o alguien mas ayudarme tambien lo agradeceria.


Saludos.
__________________
Gami

------------------------------------------------------------------
La necesidad no tolera tardanzas pero mas vale tarde que nunca
Responder Con Cita