Oracle更新BLOB或CLOB字段的方法
(2013-10-14 17:47:14)
标签:
itoracle |
Oracle 不允许使用SQL直接更新BLOB或CLOB字段,经过近两天的学习和摸索,特整理以下两种方法:
方法1,如需更新或录入的数据信息少于4K时,可以使用Varchar2作为存储过程的参数直接传入,但因中文或是UTF-8编码还需除2或除3,则可更新的内容更短,需注意数据被截断。。。
create
or replace procedure TEST_BLOB_INS (FBuffer IN VARChAR2) IS
方法1,如需更新或录入的数据信息少于4K时,可以使用Varchar2作为存储过程的参数直接传入,但因中文或是UTF-8编码还需除2或除3,则可更新的内容更短,需注意数据被截断。。。
BEGIN
--FILE_CONTENT为指定大字段
--FILE_CONTENT为指定大字段
END
TEST_BLOB;
方法2,对超过4000字节的内容需存入BLOB,
CLOB字段,如较大的文本文件或是图形数据,可以通过读写文件再写入数据库的方式,具体过程:
A,首先请DBA在控制台创建目录记录
B,再将新建的MY_DIR目录别名授权给指定用户使用
GRANT READ,WRITE on DIRECTORY MY_DIR TO user_cms
;
C,将拟存入数据库的文件上传至服务器的/home/jsp目录下
D,再使用以下过程进行文件读出并写入数据库, FName 为文件名, RecID为指定表记录的ID
create or replace procedure TEST_BLOB_FILEINS(RECID IN
INTEGER,FName IN VARCHAR2) IS
BEGIN
END TEST_BLOB;

加载中…