Converter Planilha Excel para Postgres
Boa noite gente, sei que é um tópico muito comum pelos foruns da vida, mas acho que meu caso tem uma particularida que é a seguinte: tenho uma planilha em excel que possui somente 2 campos, um deles é um campo numérico que serve como chave primária e o segundo é um campo text que maiorias possui mais de 200 caracteres, muito longo que possui caracteres como por exemplo (nº, §°, £), eu já exportei a seguinte planilha para o access, e do access exportei diretamente para o postgres através do driver odbc, mas acontece que até para criar uma sentença sql eu tenho que colocar os campos e o nome da tabela entre aspas. Alguém pode me dizer o que está acontecendo??
Bruno Prestes
Curtidas 0
Respostas
Claudia Nogueira
07/11/2012
Consegui fazer dessa forma:
1: Criar um BD no access;
2: No access clicar no menu arquivo>>Obter dados externos>>vincular tabelas e escolher o xml;
3: Salvar o BD do access e fechar;
4: No Delphi colocar um componente AdoConnection, clicar em build, Escolher Microsoft Jet 4.0 Ole DB Provider, Avançar, localizar o MDB Clicar em OK e desmarcar a opção LoginPrompt. Marcar True na propriedade Connected;
5: Colocar um AdoQuery, ligar ao AdoConnection e colocar na propriedade SQL SELECT * FROM PLAN1 (PLAN1 é o nome da tabela);
6: Colocar um componente Table da paleta que você usa para conexão ao PostgreSQL devidamente conectado ao BD do postgre e ligado a tabela que receberá as informações do xml;
7: Colocar um botão e o seguinte código:
Explicação do código:
Vai percorrer a tabela e campos de origem e vai gravar na de destino.
1: Criar um BD no access;
2: No access clicar no menu arquivo>>Obter dados externos>>vincular tabelas e escolher o xml;
3: Salvar o BD do access e fechar;
4: No Delphi colocar um componente AdoConnection, clicar em build, Escolher Microsoft Jet 4.0 Ole DB Provider, Avançar, localizar o MDB Clicar em OK e desmarcar a opção LoginPrompt. Marcar True na propriedade Connected;
5: Colocar um AdoQuery, ligar ao AdoConnection e colocar na propriedade SQL SELECT * FROM PLAN1 (PLAN1 é o nome da tabela);
6: Colocar um componente Table da paleta que você usa para conexão ao PostgreSQL devidamente conectado ao BD do postgre e ligado a tabela que receberá as informações do xml;
7: Colocar um botão e o seguinte código:
Var
i : Integer;
begin
try
//Inicia transação do postgresql
Tabela.Close;
Tabela.Open;
Qry.Close;
Qry.Open;
Qry.First;
while not Qry.Eof do
begin
Tabela.Append;
for i := 0 to Qry.FieldCount - 1 do
Tabela.FieldByName(Qry.Fields[i].FieldName).Value := Qry.FieldByName(Qry.Fields[i].FieldName).Value;
Tabela.Post;
Qry.Next;
end;
//Commita transação do postgresql
except
//Cancela transação do postgresql
end;
end;
Explicação do código:
Vai percorrer a tabela e campos de origem e vai gravar na de destino.
GOSTEI 0
Jair N.
07/11/2012
Boa Tarde, seguinte "devido" a alguns caracteres fora da codificação linguagem unicode em que o banco de dados foi criado no PostgreSQL a interpletação destes acarreta em "erro". Já tive esse tipo de problema em importar dados com scripts, os caracteres tidos como "coringas" tive que remove-los na munheca...
Uma ferramenta como muitas outras disponiveis na internet é o EMS
De uma oiada em site: http://www.sqlmanager.com.br/html/data_import_para__postgresql.html
Outra sujestão existem até mesmo em você mesmo criar um migrador personalizado, convetendo para script etc...
Atc.
Uma ferramenta como muitas outras disponiveis na internet é o EMS
De uma oiada em site: http://www.sqlmanager.com.br/html/data_import_para__postgresql.html
Outra sujestão existem até mesmo em você mesmo criar um migrador personalizado, convetendo para script etc...
Atc.
Boa noite gente, sei que é um tópico muito comum pelos foruns da vida, mas acho que meu caso tem uma particularida que é a seguinte: tenho uma planilha em excel que possui somente 2 campos, um deles é um campo numérico que serve como chave primária e o segundo é um campo text que maiorias possui mais de 200 caracteres, muito longo que possui caracteres como por exemplo (nº, §°, £), eu já exportei a seguinte planilha para o access, e do access exportei diretamente para o postgres através do driver odbc, mas acontece que até para criar uma sentença sql eu tenho que colocar os campos e o nome da tabela entre aspas. Alguém pode me dizer o que está acontecendo??
GOSTEI 0
Bruno Prestes
07/11/2012
Valeu galera, vou seguir os passos da nossa amiga la!!! 0/
GOSTEI 0
Alan Mario
07/11/2012
otimo post!!!
GOSTEI 0