[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: PostgreSQL + read binary data
_slavick
PostgreSQL 9.2, поле типа bytea.

Данные записаны из .NET клиента, подключение через ODBC-драйвера.
Win32-клиент (C++), подключение тоже через ODBC-драйвера - чтение выполняется нормально.

Т.е. данные в БД лежат правильные.

В PHP для работы с БД использую расширение PDO:

<?php
$db = new PDO('pgsql:...');
$stmt = $db->prepare("select data from Table where id=?");
$stmt->execute(array($_GET['id']));
$stmt->bindColumn(1, $lob, PDO::PARAM_LOB);
$stmt->fetch(PDO::FETCH_BOUND);

header("Content-Type: application/octet-stream");
fpassthru($lob);
?>

На выходе получаю, что объем stream-а $lob в 2 раза больше реального размера данных. Такое впечатление, что выполняется преобразование byte -> Unicode char или Escaped char.

Подскажите, пожалуйста, как с этим бороться.

PS: попробовал работать через функции odbc_ - все нормально прочиталось, но у этого варианта подключения есть свои проблемы. Так что это тоже не вариант, как и pg_...
_slavick
Неужели ни у кого нет даже предположений, в чем может быть дело?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.