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
