blob (binary large object)

解决方案 »

  1.   

    假设有一个这样的表
    blob_test
    id number;
    picture blob;
    下面通过一个存储过程把外部文件导入到表中
    先建个directory
    create or replace directory IMAGE as '你放文件的路径';这个过程插入数据CREATE OR REPLACE PROCEDURE insert_photo (p_rno NUMBER, p_photo VARCHAR2) AS f_photo BFILE; b_photo BLOB; Begin-- Update the employee photoinsert into blob_test values (p_rno,empty_blob())RETURN picture into b_photo;-- find where the photo's pointer is located.f_photo := bfilename('IMAGE', p_photo);-- open the photo as read-only option. dbms_lob.fileopen(f_photo, dbms_lob.file_readonly);-- load the photo into column photo. dbms_lob.loadfromfile(b_photo,f_photo, dbms_lob.getlength(f_photo));-- close the photo's pointer. dbms_lob.fileclose(f_photo);-- Save the loaded photo record. COMMIT;EXCEPTION-- Check for your error messagesWHEN others THENdbms_output.put_line('*** ERROR *** Check you procedure.');END; /
    你也可以由应用程序通过流方式写入