Array
(
)

importação de *.dbf para interbase

Emerson1
   - 29 mar 2006

caros amigos estou tentando fazer uma migraçao de dados de uma tabela de clinte.dbf para tabela clientes.gdb eu numca fiços não tenho nenhuma noção gostaria de uma ajuda

veja a estrutura da minha tabela interbase
REATE TABLE CLIENTES (
CODIGO INTEGER NOT NULL,
TIPO INTEGER,
RAZAO VARCHAR(80) CHARACTER SET NONE,
FANTASIA VARCHAR(80) CHARACTER SET NONE,
NOME VARCHAR(80) CHARACTER SET NONE,
CNPJ VARCHAR(18) CHARACTER SET NONE,
INSC VARCHAR(20) CHARACTER SET NONE,
ENDERECO VARCHAR(70) CHARACTER SET NONE,
BAIRRO VARCHAR(50) CHARACTER SET NONE,
CIDADE VARCHAR(70) CHARACTER SET NONE,
UF VARCHAR(2) CHARACTER SET NONE,
FONE VARCHAR(20) CHARACTER SET NONE,
FAX VARCHAR(20) CHARACTER SET NONE,
EMALL VARCHAR(80) CHARACTER SET NONE,
REFPESS VARCHAR(200) CHARACTER SET NONE,
REFCOM VARCHAR(200) CHARACTER SET NONE,
OBS VARCHAR(200) CHARACTER SET NONE,
DTCAD DATE,
CEP VARCHAR(10) CHARACTER SET NONE,
CPF VARCHAR(14) CHARACTER SET NONE,
HABILITAR INTEGER
);

obs: o campo codigo e autoincremento

pois fiço um programinha para uma locadora(um amigo) agora ele me pedio para imigra so que eu não sei fazer.......

desde ja agradeço


Sremulador
   - 29 mar 2006

vc pode utilizar o ems fb manager e a maneira mais fácil


Gilberto Fernandes
   - 30 mar 2006

eu geralmente faço um programinha para fazer essa migração, as tabelas de origem e destino nunca sao estruturalmente iguais, uso o bde para acessar ao dbf e faço o transporte. Dá mais trabalho q uma rotina pronta, mas o resultado satisfaz


Emerson1
   - 30 mar 2006

eu achei essa rotina que faz a importação so que os campos da tabela dbf não e igual a minha tabela

procedure TForm1.Button1Click(Sender: TObject);
var i: integer;
begin
//******Abre Tabela Origem**********
DBF.DatabaseName:=Edit1.Text;
DBF.TableName:=Edit2.Text;
DBF.Open;
//******Abre Tabela Destino*********
BancoGDB.DatabaseName:=Edit3.Text;
BancoGDB.Params.Clear;
BancoGDB.Params.Add(´user_name=´+Edit5.Text);
BancoGDB.Params.Add(´password=´+Edit6.Text);
GDB.TableName:=Edit4.Text;
BancoGDB.Open;
GDB.Open;
Transacao.Active:=true;
//***************************************
Dbf.First;
While not DBF.Eof do
begin
GDB.Insert;
For i:=0 to DBF.FieldCount-1 do
GDB.Fields[i].Value:=DBF.Fields[i].Value;
GDB.Post;
DBF.Next;
end;
Showmessage(Inttostr(GDB.RecordCount)+´ Registros Importados Com Sucesso...´);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
DBF.Close;
BancoGDB.Close;
GDB.Close;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key = #27 then
Close;
end;

end.

e neu conhecimento ainda e muito pouco em delphi mas com ajuda de vcs eu vou melhorar.......obrigado a todos


Emerson1
   - 03 abr 2006

Gilberto Fernandes

usei o programa que mecionei acima e abri as tabela .dbf no datebasedeskop e fiço as mudanças nas tabela para ficar iguail como você mencionou cara deu certo valeuuuuuu..............

um abraço a todos..........

******
e vivendo e aprendendo e morendo sem saber nada....