BLOB转换为CLOB的函数(oracle中执行)
来源:互联网 发布:缠论123战法源码 编辑:程序博客网 时间:2024/05/22 17:03
BLOB转换为CLOB的函数(oracle中执行)
CREATE OR REPLACE FUNCTION BlobToClob(blob_in IN BLOB) RETURN CLOB AS
v_clob CLOB;
v_varchar VARCHAR2(32767);
v_start PLS_INTEGER := 1;
v_buffer PLS_INTEGER := 32767;
BEGIN
DBMS_LOB.CREATETEMPORARY(v_clob, TRUE);
FOR i IN 1 .. CEIL(DBMS_LOB.GETLENGTH(blob_in) / v_buffer) LOOP
v_varchar := UTL_RAW.CAST_TO_VARCHAR2(DBMS_LOB.SUBSTR(blob_in,
v_buffer,
v_start));
DBMS_LOB.WRITEAPPEND(v_clob, LENGTH(v_varchar), v_varchar);
DBMS_OUTPUT.PUT_LINE(v_varchar);
v_start := v_start + v_buffer;
END LOOP;
RETURN v_clob;
END BlobToClob;
一、 BLOB和CLOB的区别
1. BLOB使用二进制保存数据,CLOB使用CHAR来保存数据。
2. CLOB,NCLOB,BLOB都是内部的LOB(Large Object)类型,最长4G,要保存图片、文本文件、Word文件最好使用BLOB类型。
二、 常用操作:
Get()方法:
CLOB:
//获得数据库连接
Connection con = ConnectionFactory.getConnection();
con.setAutoCommit(false);
Statement stmt = con.createStatement();
//不需要“for update”
ResultSet rs = stmt.executeQuery("select CLOBATTR from TESTCLOB where ID=1");
if (rs.next())
{
java.sql.Clob clob = rs.getClob("CLOBATTR");
Reader inStream = clob.getCharacterStream();
char[] c = new char[(int) clob.length()];
inStream.read(c);
//data是读出并需要返回的数据,类型是String
data = new String(c);
inStream.close();
}
inStream.close();
con.commit();
con.close();
BLOB:
//获得数据库连接
Connection con = ConnectionFactory.getConnection();
con.setAutoCommit(false);
Statement st = con.createStatement();
//不需要“for update”
ResultSet rs = st.executeQuery("select BLOBATTR from TESTBLOB where ID=1");
if (rs.next())
{
java.sql.Blob blob = rs.getBlob("BLOBATTR");
InputStream inStream = blob.getBinaryStream();
//data是读出并需要返回的数据,类型是byte[]
data = new byte[input.available()];
inStream.read(data);
inStream.close();
}
inStream.close();
con.commit();
con.close();
- BLOB转换为CLOB的函数(oracle中执行)
- java 读取Oracle的clob,blob转换为字符串
- clob 转换为blob
- Oracle中Blob转换成Clob
- Oracle中Blob和Clob的作用
- Oracle中Blob和Clob的作用
- Oracle中Blob和Clob的作用?
- oracle中BLOB和CLOB的区别
- Oracle中Blob和Clob
- 【Oracle】 Blob转Clob的字符UTF16转换UTF8问题
- java 读取clob,blob转换为字符串
- Oracle clob无法修改为blob
- Oracle中BLOB/CLOB相关操作的使用笔记
- Oracle中BLOB和CLOB字段的操作
- Oracle中BLOB、CLOB、LONG、LongRaw数据类型的区别
- Oracle中Clob与Blob字段的读取
- ibatis中操作Oracle的blob,clob大数据方法
- Oracle中Clob与Blob字段的读取
- 如何往数据库中存储mp3,image等文件
- Embedded System
- 可以选择时分秒的JS日历控件
- How to store an image file to SQliteDB in android
- Sql Server 获得各种形式的日期
- BLOB转换为CLOB的函数(oracle中执行)
- Linux 内核修炼之道, 现在还来不及看. 之后看看是怎么回事.
- SvnAnt authentication cancelled 的解决
- Eclipse Dynamic Web Project、Static Web Project、Web Fragment Project的区别
- 最受老板欢迎的十大技能
- c#各种排序算法
- 如何在MySQL&Oracle下创建自动递增字段
- 在linux下生成可执行文件和库文件
- 大型网站用什么操作系统级web服务器