使用Spring JDBC对Oracle10g进行查询操作时出现了异常,代码与错误信息如下:
代码:
String sql = "select * from t_customer";
SqlRowSet rowSet = new JdbcTemplate(this.dataSource).queryForRowSet(sql);
后台异常:
StatementCallback; uncategorized SQLException for SQL [select * from T_customer]; SQL state [null]; error code [0]; Invalid scale size. Cannot be less than zero; nested exception is java.sql.SQLException: Invalid scale size. Cannot be less than zero
该方法使用Sql Server是没有问题的。
在网上查看相关资料,得到以下解决方法:
public class SqlRowSetOracleResultSetExtractor implements ResultSetExtractor {
public Object extractData(ResultSet rs) throws SQLException {
return createSqlRowSet(rs);
}
}
protected SqlRowSet createSqlRowSet(ResultSet rs) throws SQLException {
CachedRowSet rowSet = newCachedRowSet();
rowSet.populate(rs);
return new ResultSetWrappingSqlRowSet(rowSet);
}
protected CachedRowSet newCachedRowSet() throws SQLException {
return new OracleCachedRowSet();
}
然后将原来代码改成如下即可:
SqlRowSet rowSet = (SqlRowSet)new JdbcTemplate(this.dataSource).query(sql, new SqlRowSetOracleResultSetExtractor());
上述方法经本人测试确实可行,附oracle10g的驱动jar包ojdbc14.jar(OracleCachedRowSet类需要)。
相关文章参见:
http://www.hezubbs.cn/html/java/200905/Spring-JDBCduiOracle10gshujukucaozuoshiRowSetdewenti_5994.html
分享到:
相关推荐
在本文中,我们将详细介绍如何使用 Spring Boot 连接 Oracle 数据库,配置 JDBC 驱动程序,并实现数据库的基本操作。 Step 1: 添加依赖项 在 Spring Boot 项目中,需要在 `build.gradle` 文件中添加 Oracle JDBC ...
本教程将详细讲解如何利用Spring Boot和JDBC实现跨服务器Oracle数据库的同步。 首先,Spring Boot简化了Java应用程序的初始化和配置过程。它集成了大量的依赖,包括对JDBC的支持,只需在`pom.xml`或`build.gradle`...
在初学SpringCloud的过程中,与Oracle数据库的连接是构建分布式系统的一个重要环节。SpringCloud作为一个微服务框架,提供了丰富的服务治理功能,而数据库作为数据存储的核心,与SpringBoot的集成使得我们可以轻松...
综上所述,解决JDBC连接Oracle远程数据库时的中文乱码问题,需要从多个层面进行检查和配置,包括应用程序的配置文件、JDBC连接参数、数据库服务器设置以及开发环境等。通过细心排查和合理配置,可以有效地避免这类...
Oracle驱动与JDBC连接Oracle数据库是Java开发中常见的任务,主要涉及Oracle数据库的JDBC驱动、数据库连接池、以及相关的配置和使用方法。以下将详细阐述这些知识点。 首先,Oracle驱动是Oracle公司提供的用于Java...
在本文中,我们将讨论如何使用 Spring JdbcTemplate 调用 Oracle 存储过程来实现 CRUD(Create、Read、Update、Delete)操作。我们将首先编写 Oracle 存储过程,然后编写 Java 代码使用 Spring JdbcTemplate 调用...
Spring JDBC是Spring框架的一个重要模块,它简化了Java数据库连接(JDBC)的使用,提供了更高级别的抽象,使得数据库操作更加简洁、易管理和模块化。这个"spring_JDBC整合包"显然包含了进行Spring JDBC开发所需的...
在IT行业中,数据库操作是必不可少的一部分,特别是在Java开发中,我们经常使用JDBC(Java Database Connectivity)来与各种数据库进行交互,包括Oracle。本篇将详细介绍如何使用JDBC连接Oracle数据库并执行存储过程...
总的来说,Spring对JDBC的支持使得数据库操作更加高效、安全且易于维护。它提供了丰富的API和抽象,帮助开发者避免了繁琐的JDBC代码,使他们能更专注于业务逻辑的实现。在Spring 4.0版本中,这些功能得到了进一步...
Spring JDBC是Spring框架的一个核心模块,它为Java开发者提供了便捷的数据库访问功能,简化了传统的JDBC编程。在本包中,包含了一系列用于构建与Oracle数据库连接的必要库,这使得开发者无需直接处理低级别的JDBC...
在Java开发中,Spring JDBC Template是一个非常重要的工具,它提供了对数据库操作的抽象层,简化了JDBC的繁琐工作,使我们能够更加专注于业务逻辑。本主题将详细讲解如何使用Spring JDBC Template访问MySQL数据库并...
Spring JDBC模块是Spring框架的一部分,它简化了JDBC的使用,使得开发者可以更加专注于业务逻辑,而不是数据库操作的繁琐细节。本知识点将深入探讨在使用Spring 3.0及以上版本进行JDBC操作时所需的额外jar包及其作用...
Oracle JDBC驱动包是用于Java应用程序与Oracle数据库之间通信的重要组件。它遵循Java Database Connectivity (JDBC) API标准,使得开发者可以使用Java语言高效地访问Oracle数据库。本文将深入探讨Oracle JDBC驱动的...
在SpringBoot应用中,我们通常会使用JDBC或ORM框架如Hibernate来与Oracle进行交互。这里的项目已经完成了与Oracle的连接配置,使得数据操作变得简单。 在前端部分,项目采用了layer、bootstrap和jQuery等技术。...
Spring JDBC是Spring框架的一部分,主要用于简化Java数据库连接操作。它提供了一个抽象层,使得开发者能够以统一的方式处理各种数据库,而无需直接与JDBC API打交道,从而降低了代码的复杂性和错误率。在"Spring ...
4. **JdbcTransactionManager**:Spring JDBC提供了事务管理功能,JdbcTransactionManager是基于JDBC的事务管理器,它负责控制数据库事务的开始、提交、回滚等操作。 5. **DataSourceUtils** 和 **ConnectionUtils*...
在事务和JDBC操作的配合下,Spring JDBC支持多种数据库供应商,如MySQL、Oracle、PostgreSQL等,这得益于其良好的数据库供应商无关性。通过`DataSource`的配置,开发者可以轻松切换不同的数据库,而无需修改大部分...
Spring JDBC是Spring框架的一个重要模块,它为Java开发者提供了与关系数据库交互的抽象层,简化了JDBC(Java Database Connectivity)的使用。本教程通过一个实际案例,将深入讲解Spring JDBC的基本概念、核心组件...
在Spring框架中,Spring JDBC(Java Database Connectivity)模块扮演着重要的角色,它为开发者提供了一种更高效、更简洁的方式来处理数据库操作。本篇将深入探讨Spring JDBC的核心概念、使用方法以及它如何通过...
这个`springjdbc.zip`压缩包很可能包含了示例代码和配置文件,用于演示如何使用Spring JDBC来执行基本的数据库操作,如增、删、改、查。 1. **Spring JDBC模块**:Spring JDBC模块主要由`org.springframework.jdbc`...