мне нужно скопировать изображение BLOB-объекта (jpeg) из базы данных mysql в таблицу postgres с полем bytea. я использую c++.. я читаю изображение из mysql таким образом
char* buffer = new char[res2->getInt(1)];
memset(buffer, '\0', res2->getInt(1));
(res->getBlob("att"))->read(buffer,res2->getInt(1));
res2 содержит LENGHT (blob_field). теперь, если я сохраняю буфер в файле, я отлично вижу изображение. после этого я пишу буфер в таблице postgres с помощью
const char* const paramValues[] = {buffer};
const int nParams = sizeof(paramValues) / sizeof(paramValues[0]);
const int paramLenghts[] = {buffer_size };
const int paramFormats[] = {1 }; /*binary */
PQexecParams(
conn,
"INSERT INTO images (img) VALUES($1::bytea)",
nParams,
NULL, /* Types of parameters, unused as casts will define types */
paramValues,
paramLenghts,
paramFormats,
0
);
в таблице postgres у меня есть данные в поле bytea, но если я копирую и вставляю вручную в файл, я не вижу изображения, потому что это не изображение jpeg... строка postgres отличается от строки mysql (если я откройте mysql с помощью текстового редактора), но я не понимаю, почему, так как я сделал простое копирование и вставку .. любой намек ??