我正在使用SAS接口,通过SAS将存储在SQL Server中的图片导出为blob字段。我的问题是试图让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;
更新
请参阅下面的评论,将文件语句更改为此,现在正在运行。
file "/home/221741D/cardax/image_sas.jpg" LRECL=32767 NOPRINT NOTAB;