在ORACLE9I中有一表EPPHOTO有如下字段:
OID   number,
filename varchar(256),
PHOTO  BLOB
createdate date,
存在有很多记录。
现要取BLOB的内容:
select * from epphoto where oid = 5824147;(PL/SQL中执行)
结果如下:
------------------------------------
OID  |   PHOTO |  FILENAME     |CREAT...
------------------------------------
5824147   |  Value Error   |2007-04-26-11-06-07-129.jpg |....
------------------------------------------------------------------------
在程序中执行就会一直等在执行语句那边,没有反应了。请问高手,这个问题怎么解决,程序遇到这样的问题如何加强程序的健壮性?

解决方案 »

  1.   

    select * from epphoto where oid = 5824147
    改成
    select OID,filename,utl_raw.cast_to_varchar2(PHOTO) from  epphoto where oid = 5824147
      

  2.   

    建议BLOG字段分开存放,因为BLOB在ORACLE里是和普通的字段分开存放的如果未来数据量大的话,我觉得这样效率上会出现问题
      

  3.   

    BLOB字段是无法在PLSQL DEVELOPER中显示的``你可以写一个SERVLET将照片在JSP页面中显示``不过我没有例子``呵呵``网上的例子大部分也是有错的``如果你有了答案``分享一下``
      

  4.   

    blob字段在程序中是不能直接存取的,一般对应的编程语言有自己的操作语法,如在pb中为selectblob ... ,具体的请查询你自己使用的编程语言的手册