Java调用Oracle的过程和函数

/**
调用数据库里的一个函数
一个函数本质上一个返回一个结果的存储过程,这个例子示范了怎么调用有in、out和in/out参数的函数
***********************************/
   CallableStatement cs;
   try {
     // 调用一个没有参数的函数; 函数返回 a VARCHAR
     // 预处理callable语句

cs = connection.prepareCall("{? = call myfunc}");

     // 注册返回值类型
     cs.registerOutParameter(1, i);

     // Execute and retrieve the returned value
     cs.execute();
     String retValue = cs.getString(1);

     // 调用有一个in参数的函数; the function returns a VARCHAR
     cs = connection.prepareCall("{? = call myfuncin(?)}");

     // Register the type of the return value
     cs.registerOutParameter(1, Types.VARCHAR);

     // Set the value for the IN parameter
     cs.setString(2, "a string");

     // Execute and retrieve the returned value
     cs.execute();
     retValue = cs.getString(1);

     // 调用有一个out参数的函数; the function returns a VARCHAR
     cs = connection.prepareCall("{? = call myfuncout(?)}");

     // Register the types of the return value and OUT parameter
     cs.registerOutParameter(1, Types.VARCHAR);
     cs.registerOutParameter(2, Types.VARCHAR);

     // Execute and retrieve the returned values
     cs.execute();
     retValue = cs.getString(1); // return value
     String outParam = cs.getString(2); // OUT parameter

     // 调用有一个in/out参数的函数; the function returns a VARCHAR
     cs = connection.prepareCall("{? = call myfuncinout(?)}");

     // Register the types of the return value and OUT parameter
     cs.registerOutParameter(1, Types.VARCHAR);
     cs.registerOutParameter(2, Types.VARCHAR);

     // Set the value for the IN/OUT parameter
     cs.setString(2, "a string");

     // Execute and retrieve the returned values
     cs.execute();
     retValue = cs.getString(1); // return value
     outParam = cs.getString(2); // IN/OUT parameter
   } catch (SQLException e) {
   }

时间: 2024-09-12 21:47:04

Java调用Oracle的过程和函数的相关文章

存储过程-Java调用存储国过程报错

问题描述 Java调用存储国过程报错 调用代码如下,求大神指正 package com.lofter.svntesr; import java.sql.CallableStatement; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java

weblogic连接池-Java调用Oracle存储过程传入数组参数报错

问题描述 Java调用Oracle存储过程传入数组参数报错 weblogic连接池 JNDI提供的链接保存 Oracle数组 报错 oracle.jdbc.driver.T4CConnection cannot be cast to oracle.jdbc.OracleConnection oracle.jdbc.driver.T4CConnection cannot be cast to oracle.jdbc.OracleConnection 大家好,我在用weblogic连接池 JNDI

使用Java调用Oracle数据库的存储过程实例

使用Java调用Oracle数据库的存储过程实例时间:2009-08-19 18:02:43来源:网络 作者:未知 点击:984次 一:无返回值的存储过程1.建立存储过程CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) ASBEGININSERT INTO T_TEST (I_ID,I_NAME) VALUES (PARA1, PARA2);END TESTA; 2.相应的JAVA程序impo一:无返回值

java存储过程-java调用oracle存储过程到execute()就卡住了?

问题描述 java调用oracle存储过程到execute()就卡住了? debug看了一下就是走到execute()这就卡住了,是偶尔才发生这样的状况,一般这样的情况等待10分钟左右就没有问题了,在execute()这就不会卡住了,很快就执行过去. 我感觉是系统中有很多用户都在做各种不同的操作占用了oracle的什么资源(我们这个系统中有不少操作都是用存储过程实现的),导致执行存储过程时,一直再等待这个资源,希望有大神能告诉我是什么原因导致的?谢谢 解决方案 java调用oracle存储过程用

求教大神,java调用oracle把数据库记录下载到本地的工程

问题描述 求教大神,java调用oracle把数据库记录下载到本地的工程 如上图,已经用java调用dos命令行进入sql界面,现在如何编写java代码来执行以下:sset linesize 999 set pagesize 999 spool XX_EVA_RAROC_PKG.sql select text from all_source where name='XX_EVA_RAROC_PKG' order by line; spool off; 用java直接连数据库是否也可行,求教大神提

java基础---->java调用oracle存储过程(转)

存储过程是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它.今天,我们就开始学习java中调用oracle的存储过程.   java中调用oracle的存储过程 项目结构如下: 一. 在数据库创建存储过程的脚本,如果使用的是本地的oracle数据库,则需要开启服务:OracleOraDb11g_home1TNSListener和OracleServiceORCL

java调用Oracle存储过程的方法实例_java

 1.测试添加数据的procedure 复制代码 代码如下: public void testProcedure() {        Connection con = getConnction();         // **1.测试添加数据的procedure          String procedure = "{call users_insert_proc(?,?,?,?) }";         CallableStatement cs = null;        tr

java调用oracle存储过程,返回类型record

问题描述 如题,如果在java中调用oracle的存储过程,但输出参数是record类型的,如何获得结果啊createorreplacepackagerecordpackistypestudent_typeisrecord(idnumber,namevarchar2(20));end; createorreplaceprocedurerecordPro(v_recordoutrecordpack.student_type)isbeginselectid,nameintov_recordfroms

Java 中调用oracle 的过程

oracle|过程 example 1:/* * This sample shows how to call a PL/SQL stored procedure using the SQL92 * syntax. See also the other sample PLSQL.java. */ import java.sql.*;import java.io.*; class PLSQLExample{ public static void main (String args []) throw