很长的字符串要存入oracle数据库,该怎么办?

wxflywing 2003-10-17 11:28:52
我用jsp在做一个网站时,有一个很长的字符串要存入数据库。
用string类型保存sql语句有问题。可能是太长了(4000字节以上)
请问jsp有什么好办法可以解决这类问题。
...全文
273 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zxl19790710 2003-10-23
  • 打赏
  • 举报
回复
最好不要自己构造clob类,可以从数据库中取出rs.getClob(2),然后对这个clob进行读写,然后保存
conn.setAutoCommit(false);
/* 查询CLOB对象并锁定 */
stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT BOCONTENT FROM CSPRODUCTS "
+" WHERE BONAME = '"+bean.getBoname()+"'"
+" and PID = '"+bean.getPid()+"' FOR UPDATE");
if (rs.next()) {
/* 获取此CLOB对象 */
oracle.sql.CLOB clob = (oracle.sql.CLOB)rs.getClob("BOCONTENT");
/* 进行覆盖式修改 */
BufferedWriter out = new BufferedWriter(clob.getCharacterOutputStream());
out.write(bean.getBocontent());
out.close();
}
conn.commit();
wxflywing 2003-10-23
  • 打赏
  • 举报
回复
up
wxflywing 2003-10-22
  • 打赏
  • 举报
回复
楼上,请问这句话怎么会出错。
java.sql.Clob clob=new java.sql.Clob();
ychunshui 2003-10-17
  • 打赏
  • 举报
回复
clob
squallzeng 2003-10-17
  • 打赏
  • 举报
回复
同意楼上所说的,只要字段名不会太长就行了
jackal81 2003-10-17
  • 打赏
  • 举报
回复
存为text
kjah 2003-10-17
  • 打赏
  • 举报
回复
用PreparedStatement
//....省
PreparedStatement ps = conn.prepareStatement("insert into aaa(biggggggg) values(?)");
java.sql.Clob clob=new java.sql.Clob();
//....省
ps.setClob(1,clob)
ps.executeUpdate();

wxflywing 2003-10-17
  • 打赏
  • 举报
回复
我不是问oracle中用什么字段类型。
我是问jsp中怎样做。
一般我把内容生成一句sql语句,然后执行。
如果sql语句太长,会不会有问题?
另外我试过在oracle中用clob类型,存取时出错,不知道存取clob字段,是不是要用特殊的方法。

81,090

社区成员

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

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