-
JAVA调用oracle存储过程,返回结果集为什么不能回滚5
JAVA调用oracle存储过程时,返回结果集不能回滚,为什么????
代码:
String sql = "{call GETEMPS(?) }";
CallableStatement cste = conn.prepareCall(sql,
java.sql.ResultSet.TYPE_SCROLL_SENSITIVE,
java.sql.ResultSet.CONCUR_UPDATABLE);
cste.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
ResultSet rs = (ResultSet) cste.getObject(paramFalg);
这里得到的rs,只能next(),不能first(),previous()等,否则就报 “对只转发结果集的无效操作: first” 错误!!!!
存储过程很简单
create or replace procedure GETEMPS( p_cursor out types.cursorType)
as
begin
open p_cursor for select id,app_id from auth_app_detail order by id;--表的名字
end;
rs.next是可以得到结果的。
以为是oracle版本问题,但9i和10g都一样
如果用SQL语句直接查询,得到的RS是可以回滚的,为什么存储过程不行,为什么????????2008年9月19日 16:46
目前还没有答案
相关推荐
以下是一个简单的示例,展示了如何调用一个不带参数的Oracle存储过程: ```java Session session = sessionFactory.openSession(); Transaction transaction = session.beginTransaction(); session....
总之,Java调用Oracle存储过程涉及建立JDBC连接,创建CallableStatement实例,设置参数,执行存储过程,处理输出参数以及异常和资源管理。理解这些基本步骤和最佳实践对于编写高效、可靠的Java数据库应用程序至关...
- `java代码`:可能是一个示例程序,演示如何使用Java调用Oracle存储过程。 - `SQL语句`:可能包含了创建存储过程的SQL脚本,以及可能的测试数据插入语句。 - `存储过程`:存储过程的具体定义,通常在Oracle的PL/SQL...
"Mybatis调用Oracle存储过程传List参数解决方法" Mybatis是当前最流行的持久层框架之一,它提供了强大的数据访问和操作功能。但是,如何将List类型参数传递给Oracle存储过程,实现批量插入数据却是一个棘手的问题,...
`说明.txt`文件提供了对这些存储过程的使用指南,可能包括如何通过SQL*Plus或应用程序接口(如Java的JDBC)调用它们,以及如何传递参数、处理返回结果等。在实际应用中,理解这些步骤至关重要,因为它们帮助确保正确...
至此,我们已经完成了调用Oracle存储过程的基本步骤。在实际项目中,可能还需要处理返回值、异常处理以及事务管理等问题。存储过程的返回值可以通过`CallableStatement`的`registerOutParameter`方法来接收,异常则...
Java_OracleHelper源码是一个专为Java开发者设计的工具类库,主要目的是简化与Oracle数据库的交互过程。这个源码库包含了一系列的辅助方法,帮助开发者执行SQL查询、更新、插入和删除操作,以及处理Oracle特有的特性...
在Java示例中,我们还看到了如何为大数据量插入创建Oracle对象类型和数组类型,以及相应的存储过程。这种方式允许我们在单次调用中插入大量记录,显著提高了效率。在处理大量数据时,批量操作比逐条操作更高效,因为...
Java-Oracle 连接是Java开发中常见的任务,特别是在企业级应用中,Oracle数据库作为后端存储时。这个"java-oracle.zip"压缩包显然包含了关于如何使用Java连接Oracle数据库并进行操作的一个示例,特别地,它用到了...
5. **Java调用存储过程**: - 使用`CallableStatement`对象,你可以调用MySQL的存储过程。设置参数和获取结果集,然后关闭相关资源。 6. **事务管理**: - 由于多线程环境下可能会有并发访问,因此确保序列号的...
在IT行业中,Java是一种广泛应用的编程语言,尤其在企业级应用开发中占据着主导地位。Oracle则是一款全球知名的数据库管理系统,常用于存储和管理大量数据。...希望本教程能为你开启Java与Oracle数据库结合的编程之旅。
在Java编程中,操作Oracle数据库是一项常见的任务,用于存储、检索和处理数据。这篇博文主要总结了Java程序中与Oracle数据库交互的一些基本操作。通过`PersonCreditComplainDao.java`这个文件名,我们可以推测这是一...
Java还可以通过CallableStatement调用Oracle的存储过程。存储过程是预编译的SQL语句集合,可以提高性能并封装复杂的业务逻辑。 七、连接池管理 在实际应用中,使用连接池如C3P0、HikariCP或Apache DBCP等管理数据库...
Oracle JDBC驱动程序还提供了Oracle数据库特有的功能,如PL/SQL存储过程调用、游标操作、BLOB/CLOB类型处理等。`samples`中可能包含这些高级特性的使用示例。 8. **日志和安全性**: `ojdbc.policy`文件可能涉及...
- **Java调用Oracle存储过程.docx**:这份文档应该会提供Java通过JDBC调用Oracle存储过程的实例和最佳实践。 - **sql存储过程教程.txt**:这个文本文件可能是一个全面的存储过程教程,涵盖多种数据库系统,包括SQL ...
在Java中,可以使用CallableStatement来调用存储过程。 以上就是使用Java连接Oracle数据库的基本步骤和涉及的关键知识点。在实际开发中,还需要考虑性能优化、安全性、并发访问等问题。通过不断学习和实践,你可以...
PROC,全称为Procedural Language/SQL,是Oracle提供的一种混合编程语言,它允许开发者在SQL语句中嵌入PL/I、C、C++或Java等过程语言的代码,以实现更复杂的业务逻辑和数据库操作。 1. **PROC程序设计**: - **PL/...
### Java连接Oracle数据库详解 #### 一、简介 在企业级应用开发中,Java与数据库的交互是非常重要的环节。本文将详细介绍如何使用Java语言连接Oracle数据库,并进行基本的数据操作,如查询、插入、更新和删除等。...
8. **Oracle特有功能**:Oracle提供了一些特有的SQL函数和特性,如PL/SQL存储过程、游标、索引、分区表等,这些可以通过Java调用。 9. **连接池**:在实际应用中,通常使用连接池(如C3P0、HikariCP或Apache DBCP)...
在提供的文档中,提到了两种方法将数据批量插入Oracle存储过程:一种是通过.NET环境(C#)调用,另一种是通过Java环境。这两种方法都利用了数组作为参数来传递数据,从而避免了循环中的单条插入操作。 首先,我们来...