关于往Oracle数据库中插入Clob类型数据问题!如何将String类型数据转换成Clob类型?

ccsky001 2007-01-05 09:47:25
问题如下一段程序:
public int insertForm() {
String strsql = "";
String strtime = "";
try {
Connection conn = db.getConnection();
strtime = db.getCurrentDate("yyyy-MM-dd HH:mm:ss");
strsql ="insert into productor(cpmc,bbh,cpgn,lbid,moreinfo)values(?,?,?,?,?)";//其中cpgn和moreinfo在数据库中是Clob型字段

PreparedStatement pstmt = conn.prepareStatement(strsql);
pstmt.setString(1, form.getCpmc());
pstmt.setString(2, form.getBbh());

oracle.sql.CLOB clob1=oracle.sql.CLOB.createTemporary(conn,false,oracle.sql.CLOB.DURATION_CALL);
clob1.putString(1,form.getContent());//将form.getContent()(其值为String类型)转换成CLOB型插入数据库
pstmt.setClob(3, clob1);
pstmt.setInt(4, Integer.parseInt(form.getCplx()));

oracle.sql.CLOB clob2=oracle.sql.CLOB.createTemporary(conn,false,oracle.sql.CLOB.DURATION_CALL);
clob2.putString(1,form.getXxxx());//将form.getXxxx()(其值为String类型)转换成CLOB型插入数据库
pstmt.setClob(5, clob2);
pstmt.executeUpdate();
conn.commit();
pstmt.close();
db.close();
} catch (Exception e) {
db.rollback();
e.printStackTrace();
return 2;
e.printStackTrace();
} finally {
db.close();
}
return 0;
}

程序运行时出现错误!java.sql.SQLException: 无法从套接字读取更多的数据
不知道是那里不对头!请高手看看程序那里有问题!速度。。。。
...全文
1271 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccsky001 2007-01-05
  • 打赏
  • 举报
回复
汗.......不要在我的帖在上发广告好不好·!
cdsun 2007-01-05
  • 打赏
  • 举报
回复
出售本网站
除了域名其余的一并卖出1.5W
查看地址www.aiiyoo.com
联系QQ86777770

ccsky001 2007-01-05
  • 打赏
  • 举报
回复
麻烦你帮我把我的程序改好!帖上来我看看!不太懂你的意图!
Sunny319 2007-01-05
  • 打赏
  • 举报
回复
把你的代码改成下面的:
//创建并实例化一个CLOB对象
CLOB clob = new CLOB((OracleConnection)con);
clob = oracle.sql.CLOB.createTemporary((OracleConnection)con,true,1);
//对CLOB对象赋值
clob.putString(1,form.getContent());
OracleConnection OCon = (OracleConnection)con;
OraclePreparedStatement pstmt = (OraclePreparedStatement)OCon.prepareCall(strSql);

//这一条,看到了吗,关键,setCLOB
pstmt.setClob(2, clob );

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧