`
I_am_kevin
  • 浏览: 145345 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

SqlResultSet的错误信息解决(与Oracle连接的注意事项)

阅读更多

今天,我换了台新电脑进行开发! 一切的Java环境,要重新去配置!

我的一个业务方法用到SqlResultSet对象:

SqlRowSet rs=(SqlRowSet)jdbc.queryForRowSet(sql.toString());
			while(rs!=null&&rs.next())
			{
				java.sql.Clob clob=(java.sql.Clob)rs.getObject(1);
				Reader is=clob.getCharacterStream();
				BufferedReader br = new BufferedReader(is);
				String s=br.readLine();
				while(s!=null)
				{
					strs.append(s);
					s=br.readLine();
				}
			}

 

sql语句能够打印出来,但是不能去执行!  如果换为List list = jdbc.queryForList(sql.toString()); 则能够顺利执行! 所以我认为是SqlResultSet出现的错误!

Caused by: java.sql.SQLException: Invalid precision value. Cannot be less than zero
	at javax.sql.rowset.RowSetMetaDataImpl.setPrecision(Unknown Source)
	at com.sun.rowset.CachedRowSetImpl.initMetaData(Unknown Source)
	at com.sun.rowset.CachedRowSetImpl.populate(Unknown Source)
	at org.springframework.jdbc.core.SqlRowSetResultSetExtractor.createSqlRowSet(SqlRowSetResultSetExtractor.java:66)
	at org.springframework.jdbc.core.SqlRowSetResultSetExtractor.extractData(SqlRowSetResultSetExtractor.java:49)
	at org.springframework.jdbc.core.JdbcTemplate$1QueryStatementCallback.doInStatement(JdbcTemplate.java:394)
	at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:342)
	at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:404)
	at org.springframework.jdbc.core.JdbcTemplate.queryForRowSet(JdbcTemplate.java:447)
	at com.hdsm.zctj.zctj.ZctjMain.getTable(ZctjMain.java:605)
	at com.hdsm.zctj.zctj.ZctjAcion.execute(ZctjAcion.java:57)
	at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
	at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
	at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
	at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:75)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at com.hdsm.SessionFilter.doFilter(SessionFilter.java:51)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
	at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
	at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
	at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
	at java.lang.Thread.run(Unknown Source)

 

通过排错! 我知道了,默认使用的tomcate5.5使用的是MyEclipse自带的jdk! 所以出现了问题!

如果使用MyEclipse自带的服务器,也会出现问题! 所以我判断是MyEclipse自带的服务器和jdk,不支持SqlREsultSEt,不仅如此,可能还不支持开发中的其他对象呀! 当我把jdk和服务器都换了之后,问题解决!

 

=------》 在开发中,不要使用MyEclipse自带的服务器和jdk ,切记!

 

 

==》》》》 在开发中,如果我们连接的数据库是Oracle,而且使用的是连接池! 则要注意了:

项目中的classes12.jar 用于项目的编译! tomcate 服务器中的classes12.jar 用于项目的执行!  所以要保证服务器中的oracle的classes12.jar与项目中classses12.jar与Tomcate服务器中的classes12。jar必须保证一致: 大小、版本!必须一致! 负责jdbc在某种情况下,仍然不能使用!

 

 

 

分享到:
评论

相关推荐

    Oracle使用注意事项

    Oracle使用注意事项

    安装oracle的注意事项

    连接Oracle.doc文件可能包含了更详细的步骤或特定问题的解决方案,建议在安装过程中查阅此文档以获取更多信息。安装Oracle数据库是一个涉及多个层面的过程,需要细心操作并遵循最佳实践,以确保系统的稳定运行。

    这样解决ORACLE连接错误

    ### 解决Oracle连接错误的方法 #### 背景与问题概述 在使用Oracle数据库时,可能会遇到各种连接问题,这些问题通常表现为不同的错误代码,如ORA-28547、ORA-24324、ORA-01041等。这些错误不仅影响了数据库的正常...

    sap 与 oracle数据库的连接

    SAP与Oracle数据库的连接 SAP系统与Oracle数据库的连接是SAP开发中的一个重要步骤,该连接允许SAP系统访问Oracle数据库中的数据,实现数据交换和共享。在本文中,我们将详细介绍SAP开发中模块连接Oracle数据库的...

    oracle远程连接服务器出现 ORA-12170 TNS:连接超时 解决办法

    错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...

    oracle错误及解决方法

    - **查询文档**:Oracle官方文档(如Oracle Database Error Messages)是查找错误解决方案的重要资源,其中详细解释了每个错误代码的含义和建议的解决策略。 - **检查日志**:分析数据库服务器的日志文件,如alert...

    Oracle Spatial与ArcGIS连接

    ### Oracle Spatial与ArcGIS连接知识点解析 #### 一、引言 随着信息技术的发展,空间数据管理变得日益重要。许多组织正在转向使用Oracle Spatial作为其核心数据库系统,这主要是因为Oracle Spatial能够提供强大的...

    如何连接oracle数据库及故障解决办法

    "如何连接 Oracle 数据库及故障解决办法" 连接 Oracle 数据库是每个开发者和数据库管理员都需要掌握的基本技能,但是很多人在连接 Oracle 数据库时都会遇到各种问题,本文将详细介绍如何连接 Oracle 数据库及故障...

    Oracle连接常见问题

    Oracle连接常见问题 Oracle连接常见问题

    ERwin连接oracle报ORA-01041内部错误,hostdef扩展名不存在.docx

    #### 五、预防措施与注意事项 1. **确保Oracle客户端完整安装**:在安装Oracle客户端时,请按照官方指南进行完整的安装过程。 2. **检查环境变量**:确保所有必需的环境变量(如`ORACLE_HOME`、`TNS_ADMIN`等)都...

    oci.zip 解决Oracle连接时提示oracle library is not loaded的问题

    8. **联系技术支持**:如果以上方法都无法解决问题,建议联系Navicat或Oracle的技术支持,提供详细的错误日志和系统信息,寻求专业帮助。 总之,解决“oracle library is not loaded”问题的关键在于找到合适的oci....

    Oracle_Errors(oracle错误信息)解释

    本文件包包含了关于"Oracle_Errors(oracle错误信息)解释"的相关资源,旨在帮助用户理解和解决在使用Oracle数据库时遇到的问题。 `Oracle_Errors(oracle错误信息).chm` 是一个Microsoft帮助文件,它可能包含了Oracle...

    强制释放Oracle数据连接方案

    ### 强制释放Oracle数据连接方案 在日常的数据库管理工作中,我们经常遇到数据库连接超限的情况,这通常是由于大量的数据库连接未被正确关闭...希望这些信息能帮助你在遇到数据库连接超限时,能够快速有效地解决问题。

    oracle连接解决方案

    本文将详细介绍一种常见的Oracle连接解决方案,旨在帮助用户快速定位并解决连接问题。 #### 二、解决方案步骤详解 ##### 1. 打开Oracle本地服务 - **操作路径**:首先,确保计算机上的Oracle服务已正确安装并配置...

    使用powerdesign连接oracle出现的两类错误提示的解决办法

    在使用PowerDesign连接Oracle数据库时,可能会遇到两类错误,这些错误通常与Oracle客户端和网络组件的缺失或配置不正确有关。下面将详细解释这两种错误的原因以及解决方案。 **错误提示1:未发现Oracle(tm)客户端和...

    Oracle SQL Developer连接报错(ORA-12505)的解决方案(两种)

    用oracle数据库新建连接时遇到ora-12505,此问题解决后又出现ora-12519错误,郁闷的半天,经过一番折腾问题解决,下面小编把我的两种解决方案分享给大家,仅供参考。  解决方案一: 今天工作时在新建连接的时候遇到...

    win7安装oracle步骤及注意事项

    在Windows 7上安装Oracle数据库是一项需要注意细节的任务,因为Oracle 10g版本并不直接支持Windows 7。本文将详细阐述安装步骤以及解决兼容性问题的方法。 首先,由于Oracle 10g与Windows 7的兼容性问题,我们需要...

    易语言连接Oracle数据库

    - 使用组件的`打开`命令来建立连接,`关闭`命令断开连接,`错误信息`可以获取连接过程中的错误信息。 2. 记录集组件: - 记录集用于存储从数据库查询到的数据,它支持多种操作,如`打开`、`关闭`、`移动`、`读取`...

    易语言oracle数据库连接模块源码

    5. 错误处理:讨论如何捕获和处理数据库操作过程中可能出现的错误,包括Oracle错误代码和错误信息的获取。 6. 连接池管理:如果涉及多线程或高并发环境,还会讲解如何实现连接池,以提高性能和资源利用率。 7. ...

Global site tag (gtag.js) - Google Analytics