我想用一个sql语句来保存一个文件或者一些文件到Oracle中,如何写?字段类型为Blob
例如本地文件中有一个视频文件a.rmvb,然后写一个sql语句将其保存到MyBackFile表中的filebody字段中,该字段为Blob类型。

解决方案 »

  1.   

    一个SQL语句是不可能的。。要用存储过程来做~
      

  2.   


    先insert 一下
    insert into 表名 values(1,empty_blob());
    commit;declare
       lobloc blob;
       fileloc bfile;
       amount int;
       src_offset int:=1;
       dest_offset int :=1;
    begin
       select viedo into lobloc from 表 where id=1 for update;
       fileloc:=bfilename('oracle目录的名字','a.rmvb');
       dbms_lob.fileopen(fileloc,0);
       amount:=dbms_lob.getlength(fileloc);
       dbms_lob.loadblobfromfile(lobloc,fileloc,amount,dest_offset,src_offset);
       dbms_lob.fileclose(fileloc);
       commit;
    end
    大概就这样做了
      

  3.   

    你要先再oracle上建立一个目录,用于存放你那个a.rmvb