`
thousandzhang
  • 浏览: 31591 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

java调用Oracle过程或则函数返回结果集

    博客分类:
  • java
阅读更多
import javax.sql.rowset.CachedRowSet;
import com.sun.rowset.CachedRowSetImpl;
/*
................
...........
.....
*/
Connection con = null;
java.sql.Statement  st = null;
java.sql.ResultSet  rs = null;

try {
	// 通过JNDI获得数据库连接
	String driverClass = this.getServlet().getServletConfig()
			.getInitParameter("driverClass");
	String jdbcUrl = this.getServlet().getServletConfig()
			.getInitParameter("jdbcUrl");
	String user = this.getServlet().getServletConfig()
			.getInitParameter("user");
	String password = this.getServlet().getServletConfig()
			.getInitParameter("password"); 

	con = DriverManager.getConnection(jdbcUrl, user, password);
 
	CallableStatement cstmt= null;;
	sql = "{? = call pkg_money_check.get_factor_CUR(?,?,?,?,?,?)}"; 
	cstmt = con.prepareCall(sql); 

	cstmt.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
	cstmt.setString(2,MONTH_ID);
	cstmt.setString(3,AGENT_AREA);
	cstmt.setString(4,ruleId);
	cstmt.setString(5,userInfo.getUserID());
	cstmt.setString(6,sessionID);
	cstmt.setString(7,IP);
	cstmt.execute();
	
	System.out
		.println("call pkg_money_check.get_factor_CUR('"
				+ MONTH_ID
				+ "','"
				+ AGENT_AREA
				+ "','"
				+ ruleId
				+ "','"
				+ userInfo.getUserID()
				+ "','"
				+ sessionID 
				+ "','"
				+ IP
				+ "')");
	
	rs = (ResultSet) cstmt.getObject(1);
	CachedRowSet crs = new CachedRowSetImpl();
	crs.populate(rs);
	ds = dc.convertRsToDs(crs);


} catch (Exception e) {
	e.printStackTrace();
} finally {
	con.commit();
	if (rs != null) {
		rs.close();
		rs = null;
	}
	if (st != null) {
		st.close();
		st = null;
	}
}

 

分享到:
评论
1 楼 thousandzhang 2010-01-12  
PL/SQL调用函数
select pkg_money_check.get_factor_CUR(,,,,,) from dual

相关推荐

    java调用oracle存储过程或者函数

    以上就是Java调用Oracle存储过程或函数的主要知识点,实践中要根据具体情况进行适当的调整和优化。在处理过程中,参考Oracle的JDBC文档和官方示例,以及Java API文档,将有助于理解和解决问题。

    java调用oracle存储过程返回结果集,Record,cursor参照.pdf

    Java调用Oracle存储过程返回结果集Record、Cursor参照 Java调用Oracle存储过程返回结果集(Record)是指在Java程序中通过调用Oracle存储过程来获取记录集的结果。下面将详细介绍相关知识点。 创建Type 在Oracle中...

    Java调用Oracle的过程和函数

    ### Java调用Oracle的过程和函数 在现代软件开发过程中,Java与Oracle数据库的结合非常常见。为了更好地管理和处理数据,通常需要在Java程序中调用Oracle数据库中的存储过程或函数。本文将详细介绍如何通过Java来...

    Java调用oracle函数返回oracle类(类似)集合

    3. **Java调用Oracle函数**: 在Java中,你需要使用Oracle的JDBC驱动(ojdbc.jar和nls_charset12.jar)来与Oracle数据库交互。首先,你需要加载Oracle驱动并建立数据库连接。然后,你可以通过`CallableStatement`来...

    Java调用Oracle的过程和函数.doc

    以上是Java调用Oracle数据库过程和函数的基本步骤和关键知识点。实际应用中,可能还需要考虑事务管理、性能优化(如批处理)、连接池等高级主题。理解这些概念和操作对于开发高效、可靠的Java数据库应用至关重要。

    java中调用oracle的存储过程和函数

    在Java应用程序中调用Oracle数据库中的存储过程或函数是一项常见的任务。这不仅能够提高代码的执行效率,还可以有效地管理事务处理,确保数据的一致性和完整性。本文将详细介绍如何在Java环境中通过`...

    oracle的存储过程如何返回结果集

    ### Oracle存储过程返回结果集详解 #### 一、概述 在Oracle数据库中,存储过程是一种重要的编程组件,它能够执行一系列SQL语句并处理复杂的业务逻辑。存储过程的一个常见应用场景是返回结果集(Record Set),这有...

    Java调用Oracle存储过程

    例如,可以创建一个名为`JAVA_TEST`的Oracle函数,该函数接收一个整数参数并返回一个字符串结果。 这些步骤展示了Java与Oracle数据库之间的紧密交互,使开发者能够充分利用Java的面向对象特性与Oracle的强大数据库...

    hibernate query调用oracle存储过程

    函数则类似于存储过程,但必须返回一个值。在Oracle中,它们都存储在数据库中,可被多次调用,提高了代码复用性和执行效率。 在Hibernate中,调用存储过程通常通过Session对象的createNativeQuery()方法实现,这个...

    Java调用Oracle存储过程的方法

    本文将详细讲解如何使用Java调用Oracle存储过程,并提供示例代码。 首先,我们需要了解Java中用于与数据库交互的核心类,包括`java.sql.Connection`、`java.sql.CallableStatement`和`java.sql.Types`。`Connection...

    Oracle教程,java调用oracle

    11. **Java调用存储过程和存储函数**:Java开发者可以使用JDBC(Java Database Connectivity)API来调用Oracle的存储过程和函数,实现数据库操作。CallableStatement接口用于这个目的,允许传递参数并接收返回值。 ...

    java调用oracle分页存储过程

    Java调用Oracle分页存储过程是一项常见的数据库操作,尤其在处理大数据量时,为了提高查询效率和用户体验,分页查询显得尤为重要。Oracle数据库提供了一种高效的方法,即通过创建存储过程来实现分页功能,而Java作为...

    JAVA 与ORACLE 存储过程及函数

    在Oracle数据库中,存储过程是一组预编译的SQL语句和PL/SQL代码,而函数则是返回特定值的存储过程。这些功能在数据操作和业务逻辑处理中起着关键作用。 首先,我们需要理解Java中的JDBC(Java Database ...

    java调用Oracle存储过程

    另外,如果存储过程返回游标(结果集),可以通过`ResultSet`接口进行处理。记得检查存储过程的返回值,它通常是一个表示成功与否的状态。 在开发过程中,可以使用诸如IntelliJ IDEA或Eclipse这样的IDE进行调试,...

    hibernate 调用oracle函数

    4. **定义Hibernate Native SQL查询**:由于Hibernate默认不支持调用存储过程或函数,我们需要使用`@NamedNativeQuery`或`@SqlResultSetMapping`注解来定义一个原生SQL查询,用于调用Oracle函数。例如: ```java @...

    java调用存储过程(含out参数)

    在Java编程中,调用数据库的存储过程是常见的任务,特别是在处理复杂的业务逻辑或需要高效数据操作时。本文将详细讲解如何在Java中调用含有`OUT`参数的存储过程,帮助开发者解决这类问题。 首先,理解存储过程的...

    java调用oracle存储过程

    ### Java调用Oracle存储过程详解 #### 一、概述 在企业级应用开发中,数据库存储过程被广泛用于实现复杂的业务逻辑处理。由于其高效性和安全性,存储过程常常成为首选方案之一。Java作为主流的企业级开发语言之一...

    CallableStatement调用Oracle存储过程返回结果集(ResultSet).pdf

    如果存储过程返回一个结果集,例如我们需要查询某个ID对应的数据,可以创建一个返回结果集的存储过程。在Java中处理这种存储过程的步骤类似,但需要额外处理返回的结果集: 1. 调用存储过程:`cs.execute();` 2. ...

    java调用存储过程返回数组

    总结来说,Java调用存储过程并处理返回数组,需要理解存储过程的定义,正确使用`CallableStatement`或其子类如`OracleCallableStatement`,以及处理Oracle特定数据类型的方法。通过这些技巧,我们可以有效地在Java...

    Oracle第3章及java调用过程函数.rar

    Java调用过程的几个步骤: 1.创建连接对象 2.得到CallableStatement对象, CallableStatement cst=conn.prepareCall("{call 过程名(?,?... )}"); //每个?代表过程中的一个参数 3.给输入参数赋值 4.注册输出参数,比如...

Global site tag (gtag.js) - Google Analytics