FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Hoooola!!
Con un problema similar se me soluciono con Código:
cds.LogChanges:=False; Saludos! |
#2
|
||||
|
||||
La pregunta que yo haría sería:
¿En necesario cargar ese número de registros a la vez en un TClientDataset? ¿No puedes reducir ese número? ¿No puedes filtrar?
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#3
|
|||
|
|||
así es amigos, necesito cargar todos los datos ya que lo que hago es una transferencia de informaciones entre diferente base de datos y diferentes tablas donde valido si el dato existe lo actualizo de lo contrario lo inserto, todo este proceso se hace automático y esta es la razón por la cual cargo todos los datos.
__________________
Al que no le gusta enseñar, no merece aprender... |
#4
|
|||
|
|||
saludo caro, fíjate que ya había probado la propiedad packetsrecords y cuando le pongo la cantidad por ejemplo 3000 carga los 3000 pero no sigue cargando, es como si solo existieran eso. dime si existe una forma de que pueda decirle que continué y me cargue 3000 mas.
también probé lo que me dice cecam, y la verdad no me funciono, no se si es por la gran cantidad de datos.
__________________
Al que no le gusta enseñar, no merece aprender... |
#5
|
||||
|
||||
Yo creo que no estas atacando el problema como se debería.
Me refiero a que si se supone que es un proceso automático, no deberías usar un ClientDataset cuya funcionalidad principal se utiliza para la interacción con el usuario. Y definitivamente no deberías de trabajar con 300,000 registros a la vez. Si aún así quieres trabajar con un ClientDataset, debes aceptar que trabajar con esa cantidad de datos a la vez, va a ser un proceso lento ya que se tienen que cargar a memoria. La parte de que te carga solo 3000 y deja de cargar, es porque tienes que recorrer el clientdataset hasta el 3001, para que cargue los siguientes 3000 y así sucesivamente hasta llegar al final. Edito: Si lo que quieres verificar es si el dato en cuestión ya existe en la base de datos y si no existe lo insertas, entonces lo mejor sería colocar un índice en la base de datos que no te permita duplicar el dato que quieres guardar. Y luego a traves de una consulta SQL puedes insertar todos los datos en una sola instrucción.
__________________
Última edición por ContraVeneno fecha: 14-07-2011 a las 00:05:19. |
#6
|
|||
|
|||
gracias contraveneno,
utilizo el client porque no quiero que los datos bajen a la base de datos hasta que no sea definitivo, ya que al utilizar el adoquery cada vez que cambie de registro me lo ira grabando y eso no seria factible ya que se puede realizar una consulta en ese momento y luego cancelada la transferencia y tendríamos un dato que no existe o no es real. este proceso lo utilizo de esa forma ya que son varias sucursales, cada una con su base de datos local y que a x hora o a fin o principio de día, realizan la transferencia. puede darse el caso de que modifiquen una información, por ejemplo el nombre de un cliente, este dato debe ser corregido en el servidor principal y esto es lo que me llevo a que también necesite actualizar los registros y no solo insertarlo.
__________________
Al que no le gusta enseñar, no merece aprender... |
#7
|
||||
|
||||
¿Qué te parece si empezamos desde el principio? Explica por favor, con todo detalle, qué información es la que se está manejando, cómo se está manejando y lo que pretendes hacer.
En pocas palabras, hablemos del problema a resolver antes de hablar de los problemas que surgieron al intentarlo de una u otra manera. Saludos. Al González. |
#8
|
||||
|
||||
Cita:
también puedes probar de poner la propiedad FetchOnDemand a True, creo que si eso estuviera en true ya no tendrías que moverte entre paquetes, una ves que se llegue al final de lo que has puesto en PacketRecord se cargarían el siguiente paquete, pruebalo y nos confirmas si es asi. Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ado Excel muchos datos | Delfino | Conexión con bases de datos | 9 | 22-03-2011 09:48:56 |
Mostrar en un DBGRID Relacion Muchos Muchos | dmassive | SQL | 6 | 12-02-2009 18:55:19 |
Cargar XML en un ClientDataSet | Paulao | Varios | 2 | 09-06-2008 19:39:18 |
Cargar campos en SQLDataset y ClientDataset | toni.vi | Conexión con bases de datos | 0 | 11-02-2007 17:14:11 |
cargar dbedit con clientdataset | juan888 | Conexión con bases de datos | 6 | 28-02-2004 00:37:13 |
|