关于调用oracle存储过程

问题描述

关于调用oracle存储过程

这样调用 CallableStatement c=conn.prepareCall("{call smi.CallReport.sp_RptCallCenterStat(?,?,?,?,?,?,?,?)}");

c.setString(1, "2014-10-11");
c.setString(2, "2015-11-11");
c.setInt(3, 301);
c.setString(4, "441");
c.setString(5, "zh_cn");
c.setInt(6, 1);
c.setInt(7, 32);
c.setString(8, "mycur");
ResultSet rs=c.executeQuery();

报错
java.sql.SQLException: ORA-06550: 第 1 行, 第 22 列:
PLS-00302: 必须声明 'SP_RPTCALLCENTERSTAT' 组件
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored

at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:288)
at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:745)
at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:218)
at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:969)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1190)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3370)
at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3415)
at com.mckj.subscription.timertask.SubscriptionPushTimerTask.hjzxztzbPush(SubscriptionPushTimerTask.java:85)
at com.mckj.subscription.timertask.SubscriptionPushTimerTask.runQuestionnairePush(SubscriptionPushTimerTask.java:44)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:64)
at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:53)
at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:81)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:744)

特别急,在线等

解决方案

一:无返回值的存储过程
存储过程为:

CREATE OR REPLACE PROCEDURE TESTA(PARA1 IN VARCHAR2,PARA2 IN VARCHAR2) AS
BEGIN

INSERT INTO HYQ.B_ID (I_ID,I_NAME) VALUES (PARA1, PARA2);

END TESTA;

然后呢,在java里调用时就用下面的代码:

package com.hyq.......
答案就在这里:Oracle存储过程的调用

时间: 2025-01-19 16:24:58

关于调用oracle存储过程的相关文章

jsp中调用Bean,然后在Bean中调用oracle存储过程

新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底. 最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了.言归正传. 建立一个登录系统,要求达到以下目的. 1.用户通过Bean来认证以及得到得到用户信息. 2.记录用户登录信息,如用户登录次数,最后登录时间. 3.记录操作日志. 未解决及疑惑的问题: 1.用户登录后的Session是否可以通过Bean来判断. 2.通过Bean调用ORACLE存储过程,返回select后的记录集. 操作步骤:

大家一起分享C#调用oracle存储过程

oracle|存储过程 大家一起分享C#调用oracle存储过程 执行结果 ?????? ? ?????? ? ????? ? Oracle方面 1.创建Oracle过程存储 create or replace procedure proce_test(paramin in varchar2,paramout out varchar2,paraminout in out varchar2)as? varparam varchar2(28);begin? varparam:=paramin;? p

jsp中调用Bean,然后在Bean中调用oracle存储过程。

js|oracle|存储过程 新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底.      最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了. 言归正传.      建立一个登录系统,要求达到以下目的.      1.用户通过Bean来认证以及得到得到用户信息.      2.记录用户登录信息,如用户登录次数,最后登录时间.      3.记录操作日志.     未解决及疑惑的问题:     1.用户登录后的Session是否可以通过B

ASP 调用 ORACLE存储过程并返回结果集

oracle|存储过程 ASP 调用 ORACLE存储过程并返回结果集 看过网上好多ASP调用ORACLE的方法,但是没有特好特直接的东西,所以总结各家的东西最后得出的一个自己需要的方法,感觉也比较大众所以特此发布 ###################################################oracle的存储过程################################################### --创建包头create or replace pack

jsp中调用Bean然后在Bean中调用oracle存储过程

新手在写程序时,一定要胆大心细,而且要有耐心,不妥协,不懂就翻书,网上查资料,问朋友,坚决进行到底. 最近一直凭着ASP的知识在摸索中前进,一跑坎坷,自不用说了.言归正传. 建立一个登录系统,要求达到以下目的. 1.用户通过Bean来认证以及得到得到用户信息. 2.记录用户登录信息,如用户登录次数,最后登录时间. 3.记录操作日志. 未解决及疑惑的问题: 1.用户登录后的Session是否可以通过Bean来判断. 2.通过Bean调用ORACLE存储过程,返回select后的记录集. 操作步骤:

如何使用Ruby脚本调用Oracle存储过程

使用Ruby脚本调用Oracle存储过程的示例: 1.首先创建Oracle存储过程test: SQL> create OR REPLACE PROCEDURE test(p1 in varchar2,p2 out varchar2 ) is 2 BEGIN 3 select p1 ' PROCEDURE executeD!' into p2 from dual ; 4 end; 5 / Procedure created 2.再写Ruby脚本,调用存储过程test,脚本内容如下,将脚本保存为:

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

各位帮我看下VB调用oracle存储过程的一个异常

问题描述 各位帮我看下VB调用oracle存储过程的一个异常 接了一个接口的活,VB写的,调用第三方提供的存储过程出现一个异常,如下:System.Data.OleDb.OleDbException: 未指定的错误 at System.Data.OleDb.OleDbCommand.ProcessResults(Int32 hr) at System.Data.OleDb.OleDbCommand.InitializeCommand(CommandBehavior behavior Boolea

oracle11g-vs2012调用oracle存储过程返回输出字符串的值的问题

问题描述 vs2012调用oracle存储过程返回输出字符串的值的问题 vs2012调用oracle存储过程返回输出字符串的值的问题,在plsql中执行存储过程是没有问题的,输出的字符串也有值,但在vs中取输出参数的值时,此字符串的值为null,但 如果输出为整数,则可以得到返回值. 解决方案 贴出你的代码看看.你的参数传的对不对 解决方案二: OracleConnection conn = new OracleConnection(connstr); conn.Open(); OracleCo

java-并发调用oracle存储过程

问题描述 并发调用oracle存储过程 CREATE OR REPLACE PROCEDURE MAN_ACCOUNT_MRGREDATE_INSERT (v_sellerid in varchar2, v_professtype in varchar2, v_plattype in varchar2, v_margin in varchar2, v_saleamount in varchar2, v_priceamount in varchar2, v_serviceCharge in var