读取clob出错,java.io.IOException:类型长度大于最大值

simon2100 2005-08-26 02:00:26
采用jbuilder2005+oracle8.16读取clob时一切正常,但rebuild后再运行时出错,在google上搜索了一下,有人说是jdbc版本问题,换了oracle9i的classes12.zip也不行,求救!!
采用struts数据源:
<data-sources>
<data-source key="jdbc/vio" type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
<set-property property="url" value="jdbc:oracle:thin:@202.101.162.213:1521:orcl" />
<set-property property="username" value="abc" />
<set-property property="password" value="abc" />
<set-property property="maxActive" value="50" />
<set-property property="maxWait" value="5000" />
<set-property property="defaultReadOnly" value="false" />
</data-source>
</data-sources>
后来copy ojdbc14.jar在jbuilder自带的tomcat下common\lib里,在项目中添加了classes12.zip,classes12.jar都会报错。究竟是什么原因呀?
public void NewsLocation(DataSource ds, Collection coll) throws SQLException {
Connection conn = ds.getConnection();
conn.setAutoCommit(false);
try{
Statement state = conn.createStatement();
String cont ="";
String strSql ="select id,title,content from news where id = '3';
ResultSet rs = state.executeQuery(strSql);
while (rs.next()) {
oracle.sql.CLOB clob = (oracle.sql.CLOB)ret.getClob("CONTENT");
if(clob!=null){
Reader isClob = clob.getCharacterStream();
BufferedReader bfClob = new BufferedReader(isClob);
String strClob = bfClob.readLine();//调试到这行之后异常出错。
while (strClob!=null ) {
cont += strClob;
strClob = bfClob.readLine();
}
isClob.close();
bfClob.close();
}
rd.setContent(cont);
coll.add(rd);
}
conn.commit();
rs.close();
state.close();
}catch(Exception e){
e.printStackTrace();
conn.rollback();
conn.close();
}
conn.setAutoCommit(true);
conn.close();
}
出错:
java.io.IOException: 类型长度大于最大值
at oracle.jdbc.dbaccess.DBError.SQLToIOException(DBError.java:716)
at oracle.jdbc.driver.OracleClobReader.needChars(OracleClobReader.java:222)
at oracle.jdbc.driver.OracleClobReader.read(OracleClobReader.java:163)
at java.io.BufferedReader.fill(BufferedReader.java:136)
at java.io.BufferedReader.readLine(BufferedReader.java:299)
at java.io.BufferedReader.readLine(BufferedReader.java:362)
at jjdb.DBMgr.NewsLocation(DBMgr.java:338)
at jjmgr.GetUncheckNewsAction.execute(GetUncheckNewsAction.java:29)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at jjbase.ActionServletEx.process(ActionServletEx.java:26)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
at jjbase.ActionServletEx.process(ActionServletEx.java:26)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534)
...全文
644 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyfhfx 2005-12-26
  • 打赏
  • 举报
回复
你好,我也遇见这个问题了,那怎么解决这个问题啊?谢谢!
simon2100 2005-08-29
  • 打赏
  • 举报
回复
谢谢回答,已经解决,是jdbc驱动有问题。
simon2100 2005-08-26
  • 打赏
  • 举报
回复
没有帮忙吗?搞了几天都没出来,高手帮帮忙好吗?好郁闷呀。

81,092

社区成员

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

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