[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