SQL> create table testlob (id number(6) primary key,name varchar2(10),photo blob
);
表已创建。
SQL> insert into testlob values(1,'baobei',emty_blob());
insert into testlob values(1,'baobei',emty_blob())
*
第 1 行出现错误:
ORA-00904: "EMTY_BLOB": 标识符无效
SQL> insert into testlob values(1,'baobei',empty_blob());
已创建 1 行。
testlob的脚本:
declare
lobloc BLOB;
fileloc BFILE;
amount int;
src_offset int:=1;
dest_offset int:=1;
begin
select photo into lobloc from scott.testlob where id=&id for update;
fileloc:=bfilename('MyFilePath','&filename');
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;
SQL> CREATE OR REPLACE DIRECTORY MyFilePath AS 'e: est';
CREATE OR REPLACE DIRECTORY MyFilePath AS 'e: est'
*
第 1 行出现错误:
ORA-01031: 权限不足
这个要什么权限阿?明天去查一下!
登到sys下,执行:
SQL> @d: estlob.txt
17 /
输入 id 的值: 1
原值 8: select photo into lobloc from scott.testlob where id=&id for update;
新值 8: select photo into lobloc from scott.testlob where id=1 for update;
输入 filename 的值: FIL12.JPG
原值 9: fileloc:=bfilename('MyFilePath','&filename');
新值 9: fileloc:=bfilename('MyFilePath','FIL12.JPG');
PL/SQL 过程已成功完成。
用pl/sql developer查看,果然看到了我传上去的照片。
那天心情好的时候把我的照片全部传上去,咱也用数据库来管理我的相片!
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/288166/viewspace-968147/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/288166/viewspace-968147/