Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #3  
Antiguo 03-11-2010
Mystery Mystery is offline
Miembro
 
Registrado: jul 2007
Ubicación: Santiago de Cuba
Posts: 69
Poder: 19
Mystery Va por buen camino
Red face

Hola Al bueno primeramente creo que debo una disculpa por el mensaje tan tétrico que he enviado...
Primeramente explicare que es lo que deseo hacer…
Bueno necesito realizar una aplicación que copie la estructura y los datos de una base de datos Access (Cualquiera que especifique el usuario) a un Servidor SQL Server que yo le especifique.
Ahora bien se que existen herramientas en SQL Server que me permiten copiar datos a gran velocidad como los DTS… pero no me sirven pues la BD Access es variable por así decirlo.
Entonces no he hallado otra manera que la especificada
Código Delphi [-]
  Var
     Arr:Variant;
  begin
     arr:=VarArrayCreate([0, TbOrigen.FieldCount-1], varVariant);
    while not TbOrigen.Eof do begin
      for i:=0 to TbOrigen.FieldCount-1 do
        arr[i]:= TbOrigen.Fields[i].VALUE;
      Tb_Destino.AppendRecord([arr]);
      TbOrigen.Next;
    end;
  end;
El error que me envia es el siguiente
“Could not convert variant of type (Array Variant) into type (String).”
Ahora si en el AppendRecord lo pongo asi…
Código Delphi [-]
  Tb_Destino.AppendRecord(arr);
De todas formas Al como tu dices es muy lento pues yo lo hacia asi…
Código Delphi [-]
    while not Tb_Origen.Eof do begin
      for i:=0 to Tb_Origen.FieldCount-1 do
        Tb_Destino.Fields[i].AsString:= Tb_Origen.Fields[i].AsString;
      try
        Tb_Destino.Post;
      except
        Tb_Destino.Cancel;
      end;
      Tb_Origen.Next;
    end;
y realmente en tablas con mas de 100 000 registros se demoraba bastante. Entonces me dijeron que de la primera forma es mas rápido pero no he dado en como hacerlo.
Entonces si alguien conoce algún método distinto a este pero que sea mas optimo que no dude en publicarlo…
Mil gracias de antemano sin más
Mystery

Última edición por Mystery fecha: 03-11-2010 a las 15:29:46.
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 registros entre dos tablas radenf Varios 2 16-08-2010 13:18:14
Copiar tablas de BBDD distintas kirkhelek Firebird e Interbase 2 08-04-2010 21:23:36
Copiar tablas Access TONIAM Conexión con bases de datos 0 22-04-2005 11:36:18
ayuda al copiar dos tablas.... ronimaxh Firebird e Interbase 4 16-04-2004 17:34:39


La franja horaria es GMT +2. Ahora son las 01:24:22.


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