Hola, yo tenia el mismo problema que tu pero trataba de importar de bdase a Firebird, y lo solucione de la siguiente manera
partiendo de que se conoce la estructura de la tabla, creas una base de datos con la misma estructura de tu tabla
Código Delphi
[-]
procedure TfrmData.ImportarTabla(Ruta, NombreTabla: string);
var
i : longint;
begin
ttable.Active := false;
ttable.DatabaseName := Ruta;
ttable.TableName := NombreTabla;
ttable.Active := true;
TpFIBDataset.Active := false;
ttable.First;
TpFIBDataset.Active := true;
frmImportar.ProgressBar.Min := 0;
frmImportar.ProgressBar.Max := tt.FieldCount;
i := 0;
While Not tt.Eof do begin
i := i + 1;
frmImportar.ProgressBar.Position := i;
TpFIBDataset.AppendRecord([
ttable.FieldValues['PREFIJO'],
ttable.FieldValues['NOMBRE'],
ttable.FieldValues['COMPONE'],
ttable.FieldValues['UNIPOR'],
ttable.FieldValues['CANTIDAD'],
ttable.FieldValues['PRECIO'],
ttable.FieldValues['MONTO'],
ttable.FieldValues['CANCONC'],
ttable.FieldValues['PRECIOMN'],
ttable.FieldValues['MONTOMN'],
ttable.FieldValues['PRECIOME'],
ttable.FieldValues['MONTOME']
]);
trsReadWrite.CommitRetaining;
tt.Next;
end;
end;
y en el InsertSQL
Código SQL
[-]
INSERT INTO tabla (
PREFIJO,
NOMBRE,
COMPONE,
UNIPOR,
CANTIDAD,
PRECIO,
MONTO,
CANCONC,
PRECIOMN,
MONTOMN,
PRECIOME,
MONTOME
)
VALUES(
:PREFIJO,
:NOMBRE,
:COMPONE,
:UNIPOR,
:CANTIDAD,
:PRECIO,
:MONTO,
:CANCONC,
:PRECIOMN,
:MONTOMN,
:PRECIOME,
:MONTOME
)
bueno a mi me funciono aparte de eso tiene un progressbar para mostrar como va, espero te sirva
adios.