Converter Planilha Excel para Postgres

07/11/2012

0

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

Bruno Prestes

Responder

Posts

08/11/2012

Claudia Nogueira

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:

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.
Responder

08/11/2012

Jair N.

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.

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??
Responder

12/11/2012

Bruno Prestes

Valeu galera, vou seguir os passos da nossa amiga la!!! 0/
Responder

19/11/2012

Alan Mario

otimo post!!!
Responder

APRENDA A PROGRAMAR DO ZERO AO PROFISSIONAL

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar