Exportar um banco Firebird para CSV ou Excel
O fbrescue, uma ferramenta gratuita e de código aberto (licença MIT), grava cada tabela de um banco Firebird 2.5–5.0 no seu próprio arquivo CSV, direto do arquivo do banco: sem servidor, sem driver ODBC, sem senha. Baixe o executável para o seu sistema em Releases e rode:
fbrescue export loja.fdb --out dados
dados/
schema.sql comandos CREATE TABLE
CLIENTES.csv um arquivo por tabela
PEDIDOS.csv
_errors.jsonl só se alguma linha não pôde ser lida
Use --table NOME (pode repetir) para exportar só algumas tabelas. Se um servidor estiver usando o arquivo, faça uma cópia antes: um arquivo copiado enquanto o servidor grava nele pode ficar inconsistente.
Como fica o CSV
- RFC 4180: separado por vírgulas, uma linha de cabeçalho com os nomes das colunas, UTF-8, valores entre aspas quando necessário.
- NULL é um campo vazio, uma string vazia é
"", então os dois não se confundem. - Números são exatos:
NUMERIC(18,2)sai como1234.50(ponto decimal), nunca como ponto flutuante. - Datas
2024-02-29, horas13:45:00.0000, timestamps2024-02-29 13:45:00.0000; booleanostrue/false. - BLOBs de texto são gravados por inteiro; valores binários em hexadecimal.
- Texto em
CHARACTER SET NONE: acrescente--charset WIN1252(ou a codificação que o programa usava, comoISO8859_1) para obter UTF-8 legível.
Abrir no Excel
Com dois cliques no CSV, o Excel adivinha a codificação e o separador: no Brasil ele espera ponto e vírgula, então todas as colunas caem numa só, e os acentos quebram. Em vez disso: Dados → De Texto/CSV, escolha o arquivo, defina Origem do Arquivo como 65001: Unicode (UTF-8) e Delimitador como Vírgula, depois Carregar. Os números usam ponto decimal: se o Excel os deixar como texto, clique em Transformar Dados e, na coluna, use Alterar Tipo → Usando a Localidade… com Inglês (Estados Unidos). O LibreOffice Calc pergunta o mesmo na sua janela de importação.
Outros formatos
--format jsonl: um objeto JSON por linha, números exatos como números JSON — o mais fácil para Python, Node oujq.--format sql: comandos INSERT eschema.sql, para carregar em outro banco Firebird com oisql.
Mudando para outro banco: Firebird para PostgreSQL. O arquivo não abre, ou a exportação informa erros: recuperar um banco corrompido.