coluna @Postgres bytea está retornando uma string (matriz de caracteres) em vez da matriz de bytes
Venho usando o C # para escrever uma implementação concreta de provedor para o nosso produto em diferentes bancos de dados. Sem entrar em detalhes, uma das colunas é do tipo matriz de bytes (bytea no postgres - devido às preferências que o bytea foi escolhido sobre o blob). O único problema é que ele não retorna o mesmo valor que foi inserido. Quando insiro Int32 ("0"), obtenho 8 [92 e 8x 48] (em vez de [0,0,0,0]). Preciso de uma solução inteligente para desempenho, que retorne bytes puros inseridos, em vez da representação ASCII do valor "0" em 8 bytes.
Estou usando o Npgsql para recuperar dados. Se alguém souber a solução para c #, também ficarei feliz em aprende
Editar Postgres 9.0, .Net 3.5
Simplificaçã
Consulta de comando: - dentro dele, apenas insere uma declaração
select InsertOrUpdateEntry(:nodeId, :timeStamp, :data)
arâmetro @Data:
byte [] value = BitConverter.GetBytes((int)someValue);
Parameter é atribuído como abaixo
command.Parameters.Add(new NpgsqlParameter("data", NpgsqlDbType.Bytea)
{ Value = value });
Selecione declarações:
select * from Entries
Matriz de mesmo byte que eu inseri, quero voltar. Eu realmente apreciaria sua ajuda
Input: 0 0 0 0
Saída atual: 92 48 48 48 48 48 48 48 48
Saída esperada: 0 0 0 0