怎么把二进制流插入oracle的clob字段
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了怎么把二进制流插入oracle的clob字段相关的知识,希望对你有一定的参考价值。
常规方式:1、写入
[java] view plain copy
//value 为长文本,将写入到CLOB字段中
else if (dataType == Types.CLOB)
if (StringUtils.isNotBlank(value))
pst.setCharacterStream(1, new InputStreamReader(<span style="white-space:pre"> </span>//以流的方式写入
new ByteArrayInputStream(value.getBytes())), value.length());
else
pst.setNull(1, java.sql.Types.CLOB);
2、读取:
[java] view plain copy
//...省略基础部分
ps = conn.prepareStatement(sql);
ps.setString(1, templateId);
rs = ps.executeQuery();
if (rs.next())
Clob clob = rs.getClob(1);
if (clob != null)
String config = clob.getSubString(1, (int) clob.length()); //config为读取到的clob信息
//...
本次的简易方式(以纯脚本的方式写入):
[sql] view plain copy
insert tablename(varcharcolumn,clobcolumn)
values('string part',to_clob('clob chars part1 ')||to_clob('clob chars part2'));
小结:
纯脚本的方式即显式的通过TO_CLOB将字符转为clob类型,每个转换的参数不能超过2000个字符,多个部分通过连接符 || 连接,测试通过,数据已入库,感谢牛人指点。 参考技术A 在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。 下面是对lob数据类型的简单介绍。 blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据库中。 clob:字符lob,字符数据,最长可以达到4GB,存贮在数据库中。 参考技术B 在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。 下面是对lob数据类型的简单介绍。 blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据库中。 clob:字符lob,字符数据,最长可以达到4GB,存贮在数据库中。
oracle中 怎么把字符串的数据insert 到 clob类型的字段中
参考技术A 你的问题是不是在问如何操作Oracle的CLOB类型,如下文的官方文档资料说明,在Pro*C/C++程序中可以通过三种方式操作它。当然,每种方式都对应不同的一系列对CLOB字段的操作方法。How to Use LOBs in Your Program
Three Ways to Access LOBs
The three methods available to access LOBs in Pro*C/C++ are:
1.The DBMS_LOB package inside PL/SQL blocks.
2.OCI (Oracle Call Interface) function calls.
3.Embedded SQL statements.本回答被提问者采纳 参考技术B 不能直接insert clob字段,必须用程序处理,或者exp/imp。 参考技术C 直接insert有什么问题么?比如t1 只有一个字段 clob类型
insert into t1 values ('test')
以上是关于怎么把二进制流插入oracle的clob字段的主要内容,如果未能解决你的问题,请参考以下文章