谁能考一段完整的向oracle数据库的clob字段中插入内容的代码(立刻给分,不够再加)

fzdcn 2004-08-11 04:45:04
前面各位大侠提供的解决办法,一直没能解决,比较着急,实在不愿再测试了,谢谢各位。
...全文
160 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yyqllxh2004 2004-08-12
  • 打赏
  • 举报
回复
对lob型字段不能直接插入库中的
nighthawk 2004-08-12
  • 打赏
  • 举报
回复
给你一段比较简单的方法,只需要传入参数调用便可,希望对你有帮助:
public static void writeClob(ResultSet rs, int field, String content)
throws SQLException, IOException {

if (rs.next()) {
CLOB clob = (CLOB)rs.getClob(field);
System.out.println("clob"+clob);
Writer out = clob.getCharacterOutputStream();
out.write(content);
out.flush();
out.close();
}

}
gjd111686 2004-08-12
  • 打赏
  • 举报
回复
String Author,History;
/*
if((String)session.getValue("UserId")==null)
{Author="Anonymous";}
else
{Author=(String)session.getValue("UserId");}
*/
Author="Anonymous";
java.util.Date m_Date=new java.util.Date(System.currentTimeMillis());
History=m_Date.toString();

boolean bDefault;
int iC;
oracle.sql.BLOB m_Blob;
bDefault=odbcConn.getAutoCommit();
odbcConn.setAutoCommit(false);
odbcStmt.executeUpdate("insert into Project_Design(ID,Category,Subject,Body,Author,History) values(IDSERIAL.nextval,'"+(String)session.getValue("Category")+"','"+(String)session.getValue("Subject")+"',EMPTY_BLOB(),'"+Author+"','"+History+"')");
odbcQuery="select * from Project_Design order by ID asc";
odbcRs=odbcStmt___.executeQuery(odbcQuery);
odbcRs.last();
String iID=String.valueOf((int)odbcRs.getInt("ID"));
odbcQuery="select Body from Project_Design where ID="+iID+" for Update";
odbcRs=odbcStmt___.executeQuery(odbcQuery);
if(odbcRs.next())
{
m_Blob=(oracle.sql.BLOB)odbcRs.getBlob("Body");
BufferedOutputStream pOut=new BufferedOutputStream(m_Blob.getBinaryOutputStream());
ByteArrayInputStream pIn=new ByteArrayInputStream((byte[])session.getValue("FieldName"));
while((iC=pIn.read())!=-1)
{pOut.write(iC);}
pIn.close();
pOut.close();
}
odbcConn.commit();
odbcConn.setAutoCommit(bDefault);
romeo 2004-08-12
  • 打赏
  • 举报
回复
在hibernate下,数据库是oracle

s = sf.openSession();
tx = s.beginTransaction();
foo = new Foo();
foo.setClob( Hibernate.createClob(" ") );
s.save(foo);
s.flush();
s.refresh(foo, LockMode.UPGRADE);
oracle.sql.CLOB clob = (oracle.sql.CLOB) foo.getClob();
java.io.Writer pw = clob.getCharacterOutputStream();
pw.write(content);  //content 为你要写入的字附串
pw.close();
tx.commit();
s.close();
yyqllxh2004 2004-08-12
  • 打赏
  • 举报
回复
http://www.eastkeyi.com/help.rar下载后看原代码,不过字段是Blob的,改改应该可以了
fzdcn 2004-08-12
  • 打赏
  • 举报
回复
up
J_kai 2004-08-11
  • 打赏
  • 举报
回复
up

81,090

社区成员

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

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