ITPub博客

首页 > IT职业 > IT生活 > 操作lob,居然成功了!

操作lob,居然成功了!

原创 IT生活 作者:lsl031 时间:2007-09-06 00:47:19 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 奇怪
下一篇: unix的存储概念
请登录后发表评论 登录
全部评论

注册时间:2009-03-24

  • 博文量
    56
  • 访问量
    799151