`
chenhua_1984
  • 浏览: 1256705 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

jdbc调用oracle 函数,传入String返回CURSOR

    博客分类:
  • java
阅读更多
create or replace function open_sql_cursor (v_sql varchar2) return   sys_refcursor is
 c   sys_refcursor;
 begin
    open c for v_sql;
     return c;
end;

 

JDBC调用代码

ResultSet rs1=null;
		CallableStatement call=null;
		String type="";
		String newSql ="{? = call asset.open_sql_cursor(?)}";
		try {
			conn = this.getDataSource().getConnection();
			call=conn.prepareCall(newSql);
			call.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
			call.setString(2, sql);
			call.execute();
//			rs = ((OracleCallableStatement)call).getCursor(1);
			rs=(ResultSet)call.getObject(1);			
			AuditInfo auditInfo;
			while(rs.next()){
				String errmsg = rs.getString("errmsg");
				Date loginTime = rs.getDate("loginTime");
				String dbUser = rs.getString("dbUser");
				String application = rs.getString("application");
                         。。。。。。。。。。。

   1函数是在asset账号下面 ,故有    String newSql ="{? = call asset.open_sql_cursor(?)}";

 

  2传参,从左往右,依次为1 ,2.。。。。。。

 

  3执行时使用   CallableStatement call=null;

prepareCall(newSql);

 

 4取值有两种办法

 

rs = ((OracleCallableStatement)call).getCursor(1);
			rs=(ResultSet)call.getObject(1);
 
分享到:
评论

相关推荐

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

    在Java中调用Oracle函数并处理返回的Oracle特定数据类型,如集合或索引表,通常涉及到Oracle的PL/SQL包和Java的JDBC驱动。以下是对这个主题的详细说明: 1. **Oracle索引表类型**: Oracle索引表是一种PL/SQL数据...

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

    在Java编程中,调用Oracle数据库的存储过程和函数是常见的任务,这通常涉及到JDBC(Java Database Connectivity)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来...

    Spring JdbcTemplate调用Oracle存储过程实现CRUD

    存储过程使用 `SYS_REFCURSOR` 输出参数将结果集返回给调用方。 `P_EMP_ADD` 存储过程用于添加新员工信息,并返回添加结果。该过程接收两个输入参数:`V_ID` 和 `V_NAME`,分别用于添加员工 ID 和姓名。存储过程...

    jdbc调用存储过程 函数例子

    本文将详细阐述如何通过JDBC在Java程序中调用存储过程和函数,并提供一个实际的例子。 ### 1. JDBC概述 JDBC是Java API,它提供了统一的接口来访问不同类型的数据库。通过JDBC,开发者可以进行数据库连接、执行SQL...

    Java获取Oracle存储过程返回的Cursor

    在Java编程中,有时我们需要调用Oracle数据库的存储过程,特别是当存储过程返回一个游标(Cursor)时,这种情况在处理大量数据或者分页查询时很常见。游标允许我们逐行处理结果集,而无需一次性加载所有数据,这对于...

    JDBC调用过程与函数源码

    **JDBC调用过程与函数源码详解** Java Database Connectivity(JDBC)是Java平台中用于与数据库交互的一组标准API。它允许Java程序通过Java语言来访问和处理各种数据库。在Java应用中,我们经常需要使用JDBC来执行...

    Java使用Jdbc连接Oracle执行简单查询操作示例

    String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:Oracle:thin:@localhost:1521:orcl"; Statement stmt = null; ResultSet res = null; Connection conn = null; CallableStatement ...

    JDBC调用Oracle数据库.rar

    在这个“JDBC调用Oracle数据库.rar”压缩包中,包含了一个名为“TestJDBC2”的示例项目,旨在帮助初学者了解如何使用Java通过JDBC与Oracle数据库进行交互,实现数据的增删改查基本功能。 1. **JDBC基础概念** - ...

    JDBC调用oracle存储过程.docx

    在本场景中,我们讨论的是如何使用JDBC调用Oracle数据库中的存储过程。存储过程是一组预先编译的SQL语句,可以提高数据库操作的效率和安全性。 首先,我们需要了解如何创建Oracle存储过程。在示例中,我们看到了三...

    Jdbc连接oracle远程数据库中文乱码解决

    本文将深入探讨如何通过JDBC(Java Database Connectivity)连接Oracle远程数据库时,解决中文乱码的困扰。 首先,我们需要理解的是,中文乱码通常源于字符集不一致或配置不当。在Java应用中,数据在JVM(Java...

    如何调用oracle的函数、存储过程

    当你需要在应用程序中调用Oracle函数和存储过程时,通常会使用数据库驱动或ODBC/JDBC。比如在Delphi中(根据提供的文件名`*.dpr`, `*.dfm`等,可能是Delphi项目),你可以使用ADO或Oracle的OCI库。以下是一个Delphi...

    Java调用oracle存储过程通过游标返回临时表

    调用Oracle存储过程并处理返回的游标(Cursor)在Java中通常涉及以下步骤: 1. **建立数据库连接**:使用JDBC(Java Database Connectivity)驱动,通过`DriverManager.getConnection()`方法建立到Oracle数据库的...

    jdbc连接oracle,执行存储过程,带数据库存储过程

    String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; String user = "system"; String pass = "manager"; try (Connection conn = DriverManager.getConnection(url, user, pass)) { String procedure = ...

    通过JDBC连接Oracle数据库的十大技巧

    可以使用Oracle的游标(Cursor)来逐行读取,减少内存占用。例如,使用ResultSet的scroll方法: ```java Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);...

    jdbc连接例子 Oracle CLOB转换为String java调用存储过程之输出游标

    标题中的“jdbc连接例子 Oracle CLOB转换为String java调用存储过程之输出游标”涉及到三个主要的Java数据库编程知识点:JDBC连接、Oracle数据库中的CLOB类型处理以及通过Java调用存储过程处理输出游标。 1. JDBC...

    jdbc连接oracle字符集不同出现乱码

    ### JDBC 连接 Oracle 字符集不同导致乱码问题解析及解决方案 #### 问题背景 在使用 JDBC(Java Database Connectivity)连接 Oracle 数据库时,可能会遇到一个常见的问题:从远程 Oracle 数据库获取的数据出现乱码...

    jdbc连接oracle工具类

    String url = "jdbc:oracle:thin:@//hostname:port/service_name"; Connection conn = DriverManager.getConnection(url, "username", "password"); ``` 其中,`hostname`是数据库服务器的地址,`port`是监听的...

Global site tag (gtag.js) - Google Analytics