[firebase-br] Fazer exportação e Importação com o firebird
Sandro Souza
escovadordebits em gmail.com
Seg Abr 18 12:39:08 -03 2011
Bom dia/tarde Marcio.
Grande Marcio, se for apenas com os recursos do Firebird, eu te sugiria o
uso de tabelas externas para exportar dados em formato texto (*.TXT).
Por exemplo, se temos a seguinte tabela de exemplo:
CREATE TABLE CLIENTES(
IN_CLIENTE_ID INTEGER NOT NULL, -- Código do cliente.
VA_NOME VARCHAR(100) CHARACTER SET ISO8859_1 NOT NULL COLLATE PT_BR, --
Nome do cliente
... (outros campos)
);
E desejamos gerar um arquivo TXT contendo apenas o código e o nome de todos
os clientes, então poderíamos criar, temporariamente, uma tabela externa que
seria o próprio arquivo TXT, como por exemplo:
CREATE TABLE ARQUIVO EXTERNAL FILE 'C:\Dados\Dados-Exportados.txt' (
CODIGO CHAR(8), -- Código do cliente, com até 8 dígitos/caracteres.
NOME CHAR(100), -- Nome do cliente, com até 100 caracteres.
CR CHAR(1) DEFAULT ASCII_CHAR(13), -- Carriage Return = CHR(13).
LF CHAR(1) DEFAULT ASCII_CHAR(10) -- Line Feed = CHR(10).
);
Nesse momento, o arquivo texto "C:\Dados\Dados-Exportados.txt" ainda não foi
criado.
Note que devemos usar o tipo CHAR p/ que os dados sejam realmente texto
puro.
Se você declarar como INTEGER ou outro tipo, o valor do campo ficará em
formáto binário, o que não será legível.
Note também que acrescentei dois campos finais que representam a quebra de
cada linha de texto (de cada registro), já colocando os valores padrões.
Agora vamos exportar os dados, criando automaticamente o arquivo texto:
INSERT INTO ARQUIVO (CODIGO,NOME) SELECT IN_CODIGO_ID, VA_NOME FROM CLIENTES
ORDER BY VA_NOME;
Note que não informei os campos CR e LF, e dessa forma, já serão salvos com
os valores padrões de quebra de linha.
Depois que esse comando INSERT foi executado, o arquivo TXT foi gerado com
sucesso, e você já poderia excluir a tabela ARQUIVO se desejar.
Expero ter ajudado mais que atrapalhado. :D
Em 18 de abril de 2011 11:14, Marcio Da Silva Ereno
<marcio em msereno.com.br>escreveu:
> Amigos vcs tem alguma sugestão como fazer exportação e importação de
> produtos usando o firebird?
> obrigado
> --
> *Marcio da Silva Ereno*
> *Analista de Sistemas*
> *MSEreno - Assessoria & Sistemas*
> www.msereno.com.br
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista