Экспорт поля BLOB-объекта SQL Server в файл через SAS - PullRequest
2 голосов
/ 21 февраля 2011

Я работаю над интерфейсом SAS для экспорта изображений, хранящихся в SQL Server, в виде полей больших двоичных объектов через SAS. Моя проблема состоит в том, чтобы заставить SAS не «возиться» с данными между чтением их из БД и записью в файл.

До сих пор я был в состоянии получить изображение и записать его в файл с размером файла приблизительно правильный (т.е. в пределах 100 байт), следовательно, когда я пытаюсь отобразить полученный файл изображения, это повредиться.

Если я сравниваю рабочую картинку с созданной, похоже, что в некоторых строках вставлена ​​новая строка, которая вызвала повреждение. В качестве теста, если я попытаюсь вручную исправить эти глюки линий, то смогу отобразить изображение на экране, но оно будет визуально повреждено.

Я думаю, что проблема заключается в форматах, которые я использую для сохранения изображения, или в операторе put при создании рабочей таблицы. Я надеюсь, что какой-нибудь гуру формата SAS поможет мне здесь ...

LIBNAME sphoto ODBC <...omitted>  DBMAX_TEXT=32767;

proc sql noprint;
    create table work.PHOTOS as
    SELECT
        photo as ImageData format=$32767. informat=$32767.
    FROM
        sphoto.Photos
    WHERE ...
    ;
quit;

data _null_;
    set work.PHOTOS;
    file "image_sas.jpg";
    put ImageData;
run;

UPDATE

См. Комментарий ниже, изменил оператор файла на этот, и теперь он работает.

file "/home/221741D/cardax/image_sas.jpg" LRECL=32767 NOPRINT NOTAB;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...