> recebi alguns arquivos .csv gerados em linux e preciso transforma-los em
> tabelas sql para gerar consultas via i3geo/mapserver na minha maquina que
> está usando windows.
> Fiz algo simples. Eu exportei os .csv pra .dbf e tentei fazer um join com
> meu shape no sig(algo que já fiz milhoes de vezes) mas todos os valores da
> minha tabelado shape ficam com os valores pós-join da outra tabela nulos.
> Exportei, reimportei,reexportei pra tds os formatos possíveis e nada.
> Depois tentei gerar o .sql direto no bco depois de criar a tabelas e suas
> respectivas colunas através de COPY table FROM 'caminho do arquivo csv'; e
> nada.

Não entendi.
Você tentou importar um CSV pelo COPY e não deu certo?
A tabela de destino ficou vazia? Houve alguma mensagem de erro?

> Já tentei um conversor de dbf pra sql gratuito mas não consigo encontrar
> nenhum.

Não há necessidade de passar pelo DBF, você pode importar do CSV
direto pelo psql.
A sintaxe para COPY (na versão 9.1) está em:
http://www.postgresql.org/docs/9.1/static/sql-copy.html

Qual o delimitador do CSV?
Se os fins de linha estão em Linux e você usa Windows, você pode usar
o Notepad++ para converter para fins de linha Windows.

Aí você tenta:
COPY tabela FROM 'arquivo' WITH FORMAT csv DELIMITER 'delimitador';

Onde 'arquivo' deve ser o caminho completo para o local do arquivo e
'delimitador' deve ser o utilizado no seu CSV (vírgula,
ponto-e-vírgula, tab, etc).
Note que o arquivo deve ser acessível pelo usuário que roda o
PostgreSQL (normalmente postgres).
Note também que o CSV deve ter exatamente as mesmas colunas, na
sequencia da tabela, ou então especifique as colunas conforme a
documentação.

[]s
Flavio Gurgel
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a