Em 24 de maio de 2012 14:01, Matheus de Oliveira
<[email protected]> escreveu:
>
> 2012/5/24 Jean Domingues <[email protected]>
>>
>> Pessoal,
>>
>> preciso importar um BD de Firebird para Postgresql, em C#. Tem um campo do
>> tipo Blob no Firebird, cujo conteúdo é RTF. Estou usando SqlReader para ler
>> do FB, SqlCommand para gravar no PG. No PG, criei o campo com o tipo bytea,
>> visto que text não aceita string terminada em \h0000. Mas não sei como setar
>> o parametro do sqlcommand. Setando com o valor lido em reader["campo_blob"]
>> diretamente (sqlcmd.parameters.add("rtf", reader["campo_blob"]), tenho o
>> seguinte erro: "Seqüência de entrada não estava em um formato incorreto." Se
>> alguem puder ajudar, agradeço. Uso o pgsqlcommand, da devart.
>
>
>
> Não manjo de C#, mas o que funciona de forma genérica é informar o bytea
> como uma string com os dados em hexadecimal.

Apenas fazendo um adendo, existem dois formatos suportados [1] pelo
PostgreSQL que são 'hex' e 'escape'. Para a entrada você pode utilizar
qualquer um deles, já a saída depende do valor em 'bytea_output' [1].
Você pode ter uma visão geral em [2] que talvez possa te ajudar a
implementar isto em C# em conjunto com Npgsql [3].


[1] 
http://www.postgresql.org/docs/current/static/runtime-config-client.html#GUC-BYTEA-OUTPUT
[2] http://www.postgresql.org/docs/current/static/datatype-binary.html
[3] http://npgsql.projects.postgresql.org/

[]s
-- 
Dickson S. Guedes
mail/xmpp: [email protected] - skype: guediz
http://guedesoft.net - http://www.postgresql.org.br
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a