将图像作为blob存储到Oracle数据库的问题

时间:2011-06-07 09:46:21

标签: database oracle blob

首先,我是数据库系统的新手。我试图在我的数据库上存储一个图像(仅用于测试目的),但我做不到。我使用的代码中存在问题。您能否告诉我以下代码有什么问题?

Create DIRECTORY temp as 'c:\temp';

DECLARE
  src_lob  BFILE := BFILENAME('temp', 'IMAGE.png');
  dest_lob BLOB;
BEGIN
  INSERT INTO lob_table VALUES(2, EMPTY_BLOB())
     RETURNING doc INTO dest_lob;

  DBMS_LOB.OPEN(src_lob, DBMS_LOB.LOB_READONLY);
  DBMS_LOB.LoadFromFile( DEST_LOB => dest_lob,
                         SRC_LOB  => src_lob,
                         AMOUNT   => DBMS_LOB.GETLENGTH(src_lob) );
  DBMS_LOB.CLOSE(src_lob);

  COMMIT;
END;

当我尝试运行它时,出现以下错误:ORA-00911:无效字符

这里有什么问题?

提前谢谢。

1 个答案:

答案 0 :(得分:1)

从未这样做过,所以我不确定,但我认为DIRECTORY必须在服务器上,而不是客户端。

(我猜你可能在服务器上运行SQL * Plus)