![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Después de lo que describes, pareciera como si nunca llegara a cumplirse la condición del While, vaya, como si la sentencia sql_Origen.Next no se ejecutara o algún evento moviera el cursor después de su acción. ¿Tienes manejadores de eventos asociados a sql_Origen?
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas. |
|
#2
|
|||
|
|||
|
Al Gonzales, gracias por contestar, cuando dejo el applyupdates adentro del while, es si termina de hacer el copiado, el problema es que se demora bastante, tengo asociado a la funcion solo una barra de progreso, y el boton que lanza la funcion, hago pruebas con 2000 registros y lo hace rapido, pero ya con esa carga, lo hace muy lento.
es mi primer reto con delphi, no tengo el criterio o la suficiente experiencia para saber si es normal que se demore tanto, alguna sugerencia? |
|
#3
|
||||
|
||||
|
Una idea: ¿pasa lo mismo si comentas las sentencias que tienen que ver con la barra de progreso?
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas. |
|
#4
|
|||
|
|||
|
porque no probas haciendo hilos de ejecucion?
o la manera mas facil es: "INSERT INTO TU_TABLA_DESTINO VALUES (SELECT * FROM TU_TABLA_ORIGEN)" esto copia todo el contenido del tu tabla origen a la de destino luego haces un delete de tu talva origen y... listo el pollo pelada la gallina Última edición por chingolo fecha: 22-09-2010 a las 05:41:22. Razón: mas info |
|
#5
|
||||
|
||||
|
Cita:
A mí se me presentó una situción parecida (meter datos de una tabla de Access en una de Firebird) y lo hice de otra manera, aunque la idea es la misma: ir leyendo registro a registro de una e ir insertando en la otra. La principal diferencia radica en que no meto el valor de la propiedad Fields de un DataSet en el otro sino que leo un registro de la tabla origen, monto una cadena con un INSERT y lo meto en la tabla destino. Te muestro cómo, sólo que yo en vez de con TSimpleDataSet lo hice con Querys:
Más de 1600 registros con 5 columnas me lo hace en menos de 6 segundos, y mi equipo es bastante peor que el tuyo (AMD Sempron 1'8 Ghz y 512 de Ram) asique así a ojo lo tuyo no creo que tardara más de 4 minutos. Por cierto, ¿no tendrás triggers before o after insert en la tabla de SQL Server? a ver si es que cada vez que insertas un registro se disparan y por eso te tarda tanto...
__________________
No hope, no dreams, no love, my only escape is Underground |
|
#7
|
|||
|
|||
|
Con la funcion de los dos datasets, puedo hacer el vaciado pero, es muy lento proceso, hice algo similar a lo que propone axeltech, con dos TSQLquery, y construir los inserts, funciona, se demoro 3 minutos, con los 51000 registros, lo unico que no me parece es lo estatico del codigo, pero igual, esta bien, son cuatro tablas diferentes, aplicare un switch case evaluando los casos.
De antemano, roman, cloayza,Al González, Axel_Tech, chingolo, gracias por las respuestas, fueron de gran ayuda. creo que ya se puede cerrar el tema. TaaDow. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Copiar el contenido de un DataSet a otro DataSet | Javi2 | Varios | 88 | 22-11-2025 22:17:42 |
| Actualizar un dataset desde otro dataset | jafera | Conexión con bases de datos | 17 | 18-12-2008 23:57:10 |
| Conectar a un DataSet de otro form. | DarkByte | Conexión con bases de datos | 15 | 10-09-2004 16:27:58 |
| Vaciar el contenido de un directorio (Borrar *.*) | Gelmin | Varios | 1 | 22-07-2004 20:21:50 |
| Saber si un Tabla(dataset) esta siendo usado por otro componente | cacuna | OOP | 3 | 26-05-2004 18:21:43 |
|