今天,我换了台新电脑进行开发! 一切的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.doc文件可能包含了更详细的步骤或特定问题的解决方案,建议在安装过程中查阅此文档以获取更多信息。安装Oracle数据库是一个涉及多个层面的过程,需要细心操作并遵循最佳实践,以确保系统的稳定运行。
### 解决Oracle连接错误的方法 #### 背景与问题概述 在使用Oracle数据库时,可能会遇到各种连接问题,这些问题通常表现为不同的错误代码,如ORA-28547、ORA-24324、ORA-01041等。这些错误不仅影响了数据库的正常...
SAP与Oracle数据库的连接 SAP系统与Oracle数据库的连接是SAP开发中的一个重要步骤,该连接允许SAP系统访问Oracle数据库中的数据,实现数据交换和共享。在本文中,我们将详细介绍SAP开发中模块连接Oracle数据库的...
错误描述:oracle远程连接服务器出现 ORA-12170 TNS:连接超时 错误检查:有很多是oracle自身安装的问题,但是我这里服务器配置正常,监听正常,服务正常,远程可以ping通服务器。 这里主要是防火墙问题,解决办法: ...
- **查询文档**:Oracle官方文档(如Oracle Database Error Messages)是查找错误解决方案的重要资源,其中详细解释了每个错误代码的含义和建议的解决策略。 - **检查日志**:分析数据库服务器的日志文件,如alert...
### Oracle Spatial与ArcGIS连接知识点解析 #### 一、引言 随着信息技术的发展,空间数据管理变得日益重要。许多组织正在转向使用Oracle Spatial作为其核心数据库系统,这主要是因为Oracle Spatial能够提供强大的...
"如何连接 Oracle 数据库及故障解决办法" 连接 Oracle 数据库是每个开发者和数据库管理员都需要掌握的基本技能,但是很多人在连接 Oracle 数据库时都会遇到各种问题,本文将详细介绍如何连接 Oracle 数据库及故障...
Oracle连接常见问题 Oracle连接常见问题
#### 五、预防措施与注意事项 1. **确保Oracle客户端完整安装**:在安装Oracle客户端时,请按照官方指南进行完整的安装过程。 2. **检查环境变量**:确保所有必需的环境变量(如`ORACLE_HOME`、`TNS_ADMIN`等)都...
8. **联系技术支持**:如果以上方法都无法解决问题,建议联系Navicat或Oracle的技术支持,提供详细的错误日志和系统信息,寻求专业帮助。 总之,解决“oracle library is not loaded”问题的关键在于找到合适的oci....
本文件包包含了关于"Oracle_Errors(oracle错误信息)解释"的相关资源,旨在帮助用户理解和解决在使用Oracle数据库时遇到的问题。 `Oracle_Errors(oracle错误信息).chm` 是一个Microsoft帮助文件,它可能包含了Oracle...
### 强制释放Oracle数据连接方案 在日常的数据库管理工作中,我们经常遇到数据库连接超限的情况,这通常是由于大量的数据库连接未被正确关闭...希望这些信息能帮助你在遇到数据库连接超限时,能够快速有效地解决问题。
本文将详细介绍一种常见的Oracle连接解决方案,旨在帮助用户快速定位并解决连接问题。 #### 二、解决方案步骤详解 ##### 1. 打开Oracle本地服务 - **操作路径**:首先,确保计算机上的Oracle服务已正确安装并配置...
在使用PowerDesign连接Oracle数据库时,可能会遇到两类错误,这些错误通常与Oracle客户端和网络组件的缺失或配置不正确有关。下面将详细解释这两种错误的原因以及解决方案。 **错误提示1:未发现Oracle(tm)客户端和...
用oracle数据库新建连接时遇到ora-12505,此问题解决后又出现ora-12519错误,郁闷的半天,经过一番折腾问题解决,下面小编把我的两种解决方案分享给大家,仅供参考。 解决方案一: 今天工作时在新建连接的时候遇到...
在Windows 7上安装Oracle数据库是一项需要注意细节的任务,因为Oracle 10g版本并不直接支持Windows 7。本文将详细阐述安装步骤以及解决兼容性问题的方法。 首先,由于Oracle 10g与Windows 7的兼容性问题,我们需要...
- 使用组件的`打开`命令来建立连接,`关闭`命令断开连接,`错误信息`可以获取连接过程中的错误信息。 2. 记录集组件: - 记录集用于存储从数据库查询到的数据,它支持多种操作,如`打开`、`关闭`、`移动`、`读取`...
5. 错误处理:讨论如何捕获和处理数据库操作过程中可能出现的错误,包括Oracle错误代码和错误信息的获取。 6. 连接池管理:如果涉及多线程或高并发环境,还会讲解如何实现连接池,以提高性能和资源利用率。 7. ...