怎么把二进制流插入oracle的clob字段
3个回答
2017-04-12
展开全部
常规方式:
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个字符,多个部分通过连接符 || 连接,测试通过,数据已入库,感谢牛人指点。
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个字符,多个部分通过连接符 || 连接,测试通过,数据已入库,感谢牛人指点。
2017-04-13
展开全部
在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。 下面是对lob数据类型的简单介绍。 blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据库中。 clob:字符lob,字符数据,最长可以达到4GB,存贮在数据库中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在oracle中,有4个大对象(lobs)类型可用,分别是blob,clob,bfile,nclob。 下面是对lob数据类型的简单介绍。 blob:二进制lob,为二进制数据,最长可达4GB,存贮在数据库中。 clob:字符lob,字符数据,最长可以达到4GB,存贮在数据库中。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询