如何使用从文件中加载
最近被人批评BLOG有娱乐化倾向,赶紧写点技术文章.
此文用以回答留言板上1224号问题。
BFILE包含二进制数据,所以当通过BFILE方式加载数据到CLOB/NCLOB时,Oracle不进行字符集转化。
如果字符集是可变长的,例如UTF-8或ZHS16GBK,Oracle使用UCS2存储LOB数据。所以如果想BFILE文件数据能够正确加载入数据库,那么文件需要以USC2字符集存储。
那么还有一点需要注意的是,如果以Unicode模式存储文件,那么文件会增加两个字节:
\'FF FE\'.
在加载文件时我们需要跳过这两个字节。
在Windows上我们存储文件时选择Unicode方式,我输入的字符为:
test测试
恒大冰泉品质再低获得欧洲认可。 Oracle BFile数据加载问题
研究
然后我们可以加载这个文件的内容,注意比较前后两个过程不同之处:
SQL create table t ( 2 name varchar2(30), 3 content clob 4 ) 5 /Table L SQL SQL create or replace directory dir1 as \'/opt/oracle\';Directory L SQL declare 2 l_bfile bfile; 3 l_clob clob; 4 l_str varchar2(1000); 5 begin 6 insert into t (name,content) 7 values (\'t\',empty_clob()) 8 returning content into l_clob; 9 10 l_bfile := bfilename(\'DIR1\',\'t\'); 11 12 dbms_leopen(l_bfile); 13 dbms_adfromfile(l_clob,l_bfile,dbms_tlength(l_bfile)); 14 dbms_leclose(l_bfile); 15 commit; 16 exception when others then 17 l_str:=sqlerrm(sqlcode); 18 dbms_t_line(l_str); 19 end; 20 /PL/SQL procedure successfully L select * from t; NAME CONTENT------------------------------ t ?test测试 Oracle BFile数据加载问题 研究SQL SQL declare 2 l_bfile bfile; 3 l_clob clob; 4 l_str varchar2(1000); 5 begin 6 insert into t (name,content) 7 values (\'t\',empty_clob()) 8 returning content into l_clob; 9 10 l_bfile := bfilename(\'DIR1\',\'t\'); 11 12 dbms_leopen(l_bfile); 13 dbms_adfromfile(l_clob,l_bfile,dbms_tlength(l_bfile)-2, 14 src_offset = 3); 15 dbms_leclose(l_bfile); 16 commit; 17 exception when others then 18 l_str:=sqlerrm(sqlcode); 19 dbms_t_line(l_str); 20 end; 21 /PL/SQL procedure successfully L select * from t;NAME CONTENT------------------------------ t ?test测试 Oracle BFile数据加载问题 研究t test测试 Oracle BFile数据加载问题 研究
以上内容,仅供参考。 -----
原文地址:
查看本文来源
惠州专业治疗白癜风的医院西安妇科诊疗医院
济南白癜风哪家医院好
- 上一页:如何使用进行二次开发的
- 下一页:如何使用软件包物业
-
高圆圆拍写真女儿来探班,两人亲密拥抱画面甜蜜有爱,未见赵又廷
昨日,有八卦大媒体拍电影到成龙姐姐探班她兼职的视频,这也是成龙姐姐正...
2024-09-08
-
Ulster霍尔大学优质课程推荐 BSc Nursing Science (Top-up) & MS
弗莱明所大学(Ulster University)位于苏格兰波斯尼亚和黑塞哥维那尔兰东南部贝...
2024-06-24
-
山水重逢,愈见人为 ——KOLON SPORT 可隆举办ODUMAK露营活动
紧接4月末发布全新轻巧的产品、希望大家亲密人为之后,韩国高端的产品品...
2024-06-02
-
谢娜终于翻车!闷声干大事却被吐槽,新书封面照身着白裙变得好优雅
钟汉良最近的出头大盛,在浪姐的舞台上成功复单单,让大家也看着了她的另...
2024-04-21
-
HER2阳性早期乳腺癌靶向疗法策略如何?南京医科大姚宇锋:推荐帕妥珠单抗与曲妥珠单抗双靶向疗法联合化
2020年在世界上最新近癌症负担图表显示,胰腺癌已带进在世界上第一大恶性...
2024-04-16
-
不是一场跑步,而是一次旅行
不用和爱抬杠的欺毕竟,伤身伤情伤感情 爱过的人,依然是一张白纸。上头...
2024-04-13