Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 21-09-2010
TaaDow TaaDow is offline
Registrado
 
Registrado: sep 2010
Posts: 8
Poder: 0
TaaDow Va por buen camino
Arrow Vaciar contenido dataset a otro

Buen dia,
cuento con dos motores(db1-oracle y db2-sqlserver05), con unas tablas equivalentes, debo vaciar el contenido de una tabla db1 a db2, para ello, utilizo esta funcion a la cual le paso los dos datasets, origen y destino, que cuentan con las misma estructura:
Código Delphi [-]
procedure TForm1.CopiarRegistro(sql_Origen :TSimpleDataSet; sql_Destino :TSimpleDataSet);
var
  larr_Valores : Variant;
  lint_Cursor : Integer;
  x            : Integer;
begin
  
  sql_Destino.Open;
  sql_Origen.Open;

 while(not sql_Origen.Eof) do
  begin
    larr_Valores := VarArrayCreate([0,sql_Origen.Fieldcount-1],VarVariant);
    for lint_Cursor := 0 to (sql_Origen.Fieldcount-1) do
      larr_Valores[lint_Cursor] := sql_Origen.fields[lint_Cursor].Value ;
      sql_Destino.Append ;

    for lint_Cursor := 0 to (sql_Destino.Fieldcount-1) do
      sql_Destino.fields[lint_Cursor].Value := larr_Valores[lint_cursor] ;
      sql_Destino.Post;
    sql_Origen.Next;
      sql_Destino.ApplyUpdates(-1);
   
   end;
 end;
El procedimiento funciona, pero al ejecutarse, hago la prueba cargando en el dataset una tabla de 6 columnas y 50 mil filas, y ejecuta la tarea en mas de 7 horas, lo que me parece exagerado, dado que si subo un csv manualmente, con esa misma informacion, no toma mas de 30 minutos, es mi primera experiencia programando el delphi, desearia conocer sus opiniones con respecto a la eficiencia del codigo, es esta es la solucion mas optima?

Agradezco sus sugerencias al respecto.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Copiar el contenido de un DataSet a otro DataSet Javi2 Varios 82 22-11-2022 09:26:16
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


La franja horaria es GMT +2. Ahora son las 17:38:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi