Я использую C # для написания конкретной реализации провайдера для нашего продукта для разных баз данных.Если не вдаваться в детали, один из столбцов имеет тип байтового массива (bytea в postgres - из-за предпочтений bytea был выбран вместо BLOB-объекта).Единственная проблема заключается в том, что он не возвращает то же значение, которое было вставлено.Когда я вставляю Int32 («0»), я получаю 8 [92 и 8x 48] (вместо [0,0,0,0]).Мне нужно решение с точки зрения производительности, которое будет возвращать чистые байты, которые я вставил, вместо представления ASCII значения «0» на 8 байтов.
Я использую Npgsql для извлечения данных.Если кто-то знает решение для c #, я буду рад узнать и его.
Редактировать: Postgres 9.0, .Net 3.5
Упрощение
Командазапрос: - внутри него только вставка вставки
select InsertOrUpdateEntry(:nodeId, :timeStamp, :data)
Параметр данных:
byte [] value = BitConverter.GetBytes((int)someValue);
Параметр назначается, как показано ниже
command.Parameters.Add(new NpgsqlParameter("data", NpgsqlDbType.Bytea)
{ Value = value });
Выбор статистики:
select * from Entries
Тот же массив байтов, который я ввел, я хочу вернуться.Буду очень признателен за вашу помощь.
Вход: 0 0 0 0Выход по току: 92 48 48 48 48 48 48 48 48Ожидаемый результат: 0 0 0 0