方法:
public String clobToString(String sql) throws SQLException,ClassNotFoundException,IOException
{
String content=null;
Connection con=this.con();
Statement smt=con.createStatement();
ResultSet rst1=smt.executeQuery(sql);
if(rst1.next())
{
oracle.sql.CLOB cb=(oracle.sql.CLOB)rst1.getClob(1);
BufferedReader br = new BufferedReader(cb.getCharacterStream());
String s = br.readLine();
while (s != null)
{
content += s;
s = br.readLine();
}
}
con.close();
smt.close();
return content;
}
错误内容:
java.sql.SQLException: 必须登录到服务器
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.TTC7Protocol.assertLoggedIn(TTC7Protocol.java:2196)
at oracle.jdbc.ttc7.TTC7Protocol.getLobChunkSize(TTC7Protocol.java:3027)
at oracle.sql.LobDBAccessImpl.getChunkSize(LobDBAccessImpl.java:686)
at oracle.sql.CLOB.getChunkSize(CLOB.java:664)
at oracle.sql.CLOB.getBufferSize(CLOB.java:689)
at oracle.sql.CLOB.getCharacterStream(CLOB.java:317)
at hsj.data.clobToString(data.java:71)
at _jsp._jspnews._addnews__jsp._jspService(jspnews/addnews.jsp:60)
at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
at com.caucho.jsp.Page.pageservice(Page.java:570)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:159)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:267)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:388)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:595)
public String clobToString(String sql) throws SQLException,ClassNotFoundException,IOException
{
String content=null;
Connection con=this.con();
Statement smt=con.createStatement();
ResultSet rst1=smt.executeQuery(sql);
if(rst1.next())
{
oracle.sql.CLOB cb=(oracle.sql.CLOB)rst1.getClob(1);
BufferedReader br = new BufferedReader(cb.getCharacterStream());
String s = br.readLine();
while (s != null)
{
content += s;
s = br.readLine();
}
}
con.close();
smt.close();
return content;
}
错误内容:
java.sql.SQLException: 必须登录到服务器
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:134)
at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:179)
at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:1160)
at oracle.jdbc.ttc7.TTC7Protocol.assertLoggedIn(TTC7Protocol.java:2196)
at oracle.jdbc.ttc7.TTC7Protocol.getLobChunkSize(TTC7Protocol.java:3027)
at oracle.sql.LobDBAccessImpl.getChunkSize(LobDBAccessImpl.java:686)
at oracle.sql.CLOB.getChunkSize(CLOB.java:664)
at oracle.sql.CLOB.getBufferSize(CLOB.java:689)
at oracle.sql.CLOB.getCharacterStream(CLOB.java:317)
at hsj.data.clobToString(data.java:71)
at _jsp._jspnews._addnews__jsp._jspService(jspnews/addnews.jsp:60)
at com.caucho.jsp.JavaPage.service(JavaPage.java:60)
at com.caucho.jsp.Page.pageservice(Page.java:570)
at com.caucho.server.dispatch.PageFilterChain.doFilter(PageFilterChain.java:159)
at com.caucho.server.webapp.WebAppFilterChain.doFilter(WebAppFilterChain.java:178)
at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:229)
at com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:267)
at com.caucho.server.port.TcpConnection.run(TcpConnection.java:388)
at com.caucho.util.ThreadPool.runTasks(ThreadPool.java:490)
at com.caucho.util.ThreadPool.run(ThreadPool.java:423)
at java.lang.Thread.run(Thread.java:595)
解决方案 »
- 急!那位大哥用过jmagick进行图片的锐化的!
- httpclient怎么用呢,不会啊
- struts1.2标签<html:text>不能用onpropertychange事件?
- 如何用好hibernate+spring+struts2这个框架?
- javaweb程序员是否需要深入了解存储过程
- 数据库查询正常,插入出错,为什么?
- 在目录树中,如何实现“点击文字和点击文字前面的图标”产生一样的下拉效果。
- 一个jsp的同一个form中同时发出2个request请求,会出现什么状况?(在线等待)
- 如何保护WEB站点中的特定资源
- jsp中文参数问题。很多人都问过了,但就是没有人给出解决方法。一定可以的,有例作证。
- struts做数据库中插入数据时,从insertform传到insertaction出现中文乱码,乍以解决这个问题,高手指教
- Jsp调试错误信息
oracle.sql.CLOB clob=(oracle.sql.CLOB)rs.getClob(1);
(clob!=null){
content= clob.getSubString((long) 1, (int) clob.length());
}
另外你这个错误可能是由于你未连接到ORACLE,再有smt.close();应放在con.close();的前面。
content= clob.getSubString((long) 1, (int) clob.length());
}
前面是if吗