求助诸君:EF调用Oracle包中带游标的存储过程

大家好,项目开发时遇到了瓶颈,是关于EF6调用Oracle包中带游标的存储过程,小弟尝试了N遍后,还是百试不得其解,望诸君助小弟一臂之力。

Oracle packages如下:


--------------分割线-----------------------------
Oracle package bodies如下:

----------------------分割线-----------------------------
这是ADO.NET跑的存储过程,完全没问题的。只是EF中调用我不会。

----------------------分割线-----------------------------
这是EF中的代码

----------------------分割线-----------------------------

我是知道oracle 存储过程sql窗口是用begin end,命令窗口是exec的,我的存储过程应该是没写错的。
望诸君如果有用过EF调用Oracle包中带游标的存储过程案例代码的,
希望能分享下经验,学习下,能贴代码最好,真心谢谢了。

0

1个回答

这个需要下载对应的驱动才行

3
qq175299882
qq175299882 比如是什么驱动呢?能说详细点吗?
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Oracle带游标的存储过程在plus中的调用实例
之前在帖子http://blog.csdn.net/szstephenzhou/article/details/7737342 里回答了一些网友的关于怎么穿件一个返回记录集合的存储过程。想必很多网友已经很明白了,这里就不多讲了,先在这个帖子主要回答百度知道http://zhidao.baidu.com/question/453032020.html?fr=uc_ma_push&fl=red&old
ORACLE—010:调用有游标参数的存储过程
游标一般可作为存储过程的返回参数,如下PROCEDURE PRO_MY_TEST(var1 VARCHAR2, var2 OUT CURSOR) 那么如何调用这个存储过程呢,如下declare var1 varchar2(40); var2 SYS_REFCURSOR; begin PROCEDURE PRO_MY_TEST(var1
Oracle PL/SQL 执行包里的存储过程 游标输出参数
oracle PL/SQL 如何执行包里的存储过程,存储过程带游标输出参数 [问题点数:40分] 收藏帖子 回复 mjlwq 结帖率 87.5% create or replace package pkg_GetDailyReport AS        TYPE myrctype IS REF CURSOR;              PROCEDURE GetDailyRepo...
oracle存储过程中游标的使用(包括带参数的游标)
最近因为项目需要要写存储过程,以前没咋写过,接触到是接触过,在软通的时候接触过,那是华为的项目那个几个存储过程很大很复杂,也很乱,注释也少,看了个大概。最近一个月,前后也写了七八个简单点的存储过程,也对存储过程有了一个简单的认识,其实也不是很难,多查资料,多实践。闲话不扯了,下面主要说一下游标的组合使用,记录下来即便以后长时间不用了忘记。 场景:有几张表,现在根据业务要求要处理表b中的数据,但先
oracle在存储过程里面调用其它的存储过程(包含游标)
第一种情况是返回的游标是某个具体的表或视图的数据,如CREATE OR REPLACE PROCEDURE P_TESTA ( PRESULT OUT SYS_REFCURSOR ) AS BEGIN OPEN PRESULT FOR SELECT * FROM USERS; END P_TESTA;其中USERS就是数据库中一个表。在调用的时候只要声明一个该表的ROWTYPE类型就可以
Oracle存储过程,游标使用
Oracle存储过程: 语法: CREATE [OR REPLACE] PROCEDURE procedure_name (arg1 [mode1] datatype1,arg2 [mode2] datatype2,...) IS [AS] PL/SQL BLOCK; mode用于指定输入输出参数:IN为输入参数,OUT为输出参数,当为输入参数时可以省去IN,OUT不能省去。 如果没
jdbc调用返回游标的oracle存储过程
项目中学习技术,这句话真是有道理啊,呵呵 在此次项目中,由于sql比较复杂,就使用存储过程来处理,但是需要返回一个数据集,这就想到了使用游标,但是之前的项目一直没有用过,需要学习一下。今天周末,就利用这个时间收集资料,学习了一下,下面将学习结果总结如下。 表结构: create table item (      item_id varchar2(32),       itemname ...
Oracle存储过程以及游标
一.存储过程 1、存储过程定义 所谓存储过程(Stored Procedure),就是一组用于完成特定数据库功能的SQL语句集,该SQL语句集经过 编译后存储在数据库系统中。在使用时候,用户通过指定已经定义的存储过程名字并给出相应的存储过程参数 来调用并执行它,从而完成一个或一系列的数据库操作。 2、存储过程的创建 Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。 1)...
oracle 存储过程(其中使用了游标)例子
create or replace procedure PRC_analysis_alert is ---获得“预警研判分析-预警信息统计”结果 的游标 cursor CRS_AlERT is select xzqh, zzjgdm , yjlx ,substr(TJRQ,1,6) tjyf ,clzt ,sum(yjsl) yjsl from t_pvbdp_sta
Oracle存储过程返回带参数游标方法汇总
有2种方法: 一种是声明系统游标,一种是声明自定义游标,然后后面操作一样,参数类型为 in out 或out (1)声明个人系统游标.(推荐) create or replace p_temp_procedure ( cur_arg out sys_refcursor; --方法1 ) begin open cur_arg for select * from tab
存储过程及游标的优缺点
前言:相信很多小伙伴在学习阶段肯定使用过存储过程及游标。但是进入企业工作几年发现,实际的项目中很少使用存储过程和游标。当然啦,有些公司也会使用的,毕竟很少。今天咱们就来分析一下储存过程机游标的优缺点,比较一下就一步了然了用与不用的选择啦。 存储过程的优缺点 优点   1. 运行速度:对于很简单的sql,存储过程没有什么优势。对于复杂的业务逻辑,因为在存储过程创建的时候,数据库已经对其进行了一...
oracle存储过程:游标使用,多重游标
oracle游标
EF框架下调用 调用Oracle 存储过程
EF框架下调用 调用Oracle 存储过程
oracle存储过程的创建和游标的使用
第一个例子: call insertTable(); (在创建的时候insertTable不能写成insertTable()) create or replace procedure insertTable is begin   --新建游标suts   Declare cursor suts is select * from sys_user_temp;   begin     --开始循环 ...
存储过程中用什么可以替代游标
存储过程中用什么可以替代游标 20 存储过程代码如下: CREATE OR REPLACE PROCEDURE pd_P_visitPlan_answer (sKeyid varchar2, sVpid varchar2, sVpcmid ...展开 崔传磊 | 浏览 1448 次 推荐于2016-05-17 20:31:19 最佳答案 M
Oracle中的存储过程及游标
Oracle数据库中的存储过程及游标
在Oralce存储过程中使用游标来逐行处理数据示例并执行调试
在Oralce存储过程中使用游标来逐行处理数据示例:Create or replace Procedure pro_T_Code_FacProRuleAsoldRowId varchar2(20);oldDbFile varchar2(20);CURSOR curOldRow is select rowid,DBFILE from T_CODE_FACPRORULE_TEST;Begin  O
Oracle 存储过程 \ 游标简单定义和使用
-- Created on 2018/10/12 by 32580 declare -- 定义变量 变量赋值方式为: 变量名 := 值 i INTEGER ; sqls varchar2(500); user_id varchar2(36); log_id varchar2(36); cdate date; -- 本次创建时间 fdate date; -- ...
调用存储过程 返回游标 实例
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();  Connection con = this.getSession().connection();  CallableStatement sp;  try {       sp = con.prepareCal...
Oracle数据库游标的使用方法。
想到这个,是因为之前在工作中经常遇到批量插入的情况,按照平时的工作习惯,就是在PL/SQL Developer中for update 目标表,然后把内容粘贴进去。也能达到插入的目的,但是这种做法,总觉得过于依赖环境,而且也缺少灵活性。然后某一天看到游标这个概念后,觉得可以拿来用到工作场景中。--首先给目标表pub_oods_zb创建一张错误日志表 pub_goos_zb_error_log,语句中...
java调用oracle存储过程(游标)相关
NULL 博文链接:https://liuzidong.iteye.com/blog/717050
oracle执行存储过程返回游标cursor
create or replace procedure TEST(s varchar2, r_result out sys_refcursor) is   --作者:lml   --功能:根据tokenid查询放行指令   --详情:   --1.返回放行指令   --时间:20170921 begin   DECLARE     v_user_id nvarchar2(4
Oracle 存储过程语法以及游标的定义及INTO语法的使用
存储过程创建语法: create [or replace] procedure 存储过程名(param1 in type,param2 out type) as 变量1 类型(值范围); 变量2 类型(值范围); Begin Select count(*) into 变量1 from 表A where列名=param1; If (判断条件) then Sele...
带游标的相互调用的存储过程
--------------------子存储过程------------------- DELIMITER // CREATE     PROCEDURE `proc_hanshui`(     IN onumber VARCHAR(40),     IN taxable BOOLEAN,     OUT ototal DECIMAL(18,2)     )
C#调用带游标的oralce存储过程
C#winform调用带输出游标和其它输出参数的oralce存储过程,示例
一个简单的带游标的存储过程
CREATE PROC UpdateStuAge @setAge int AS BEGIN DECLARE my_cursor CURSOR FOR SELECT ID,name,age FROM STU OPEN my_cursor DECLARE @ID varchar(50) DECLARE @NAME VARCHAR(50) DECLARE @AGE INT FETC
oracle存储过程调用游标例子
oracle存储过程调用游标例子
Oracle -PLSQL存储过程游标当出参
包头: create or replace package ProdureceCursorData is type  curtype is ref cursor;     type type_record is record   (     deptno NUMBER(2) ,   dname  VARCHAR2(14),   loc    VARCHAR2(13) );  PR
Oracle存储过程中游标的简单使用
初衷: 存储过程中查询语句如何返回多行结果? 我们知道,如果存储过程中查询语句有多行结果输出,会报错: ORA-01422: exact fetch returns more than requested number of rows 若想让存储过程中的查询语句返回多行结果不报错,则需要使用游标来实现。 本例主要也是用来熟悉存储过程中游标的简单使用方法。案例所涉及
包内包含游标类型过程的调用!
1.今天在CSDN上看到了这样一个问题:  CREATE OR REPLACE PACKAGE pkg_aa AS     TYPE myrctype IS REF CURSOR;       PROCEDURE get(p_id NUMBER, p_rc OUT myrctype); END pkg_dept; 我怎么样在sql*plus中调用这个存储过程呢?主要是不知道写那个定义Ref
JAVA中使用参数含有游标的存储过程
JAVA中使用参数含有游标的存储过程 关于存储过程: 存储过程是一组为了完成特定功能的SQL语句集, 经编译后存储在数据库中,用户通过指定存储过程的名字(给出参数)来执行它 游标:游标(CURSOR)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果 首先创建一个参数含有游标的存储过程 包头部分: create or replace package mypack
C#调用Oracle带输出数据集的存储过程
1、创建一个带输出数据集的Oracle存储过程 create or replace procedure PRO_test(in_top in number,cur_out out sys_refcursor) is --查询指定记录条数的数据,并返回总共记录数,返回多个数据集 begin open cur_out for SELECT * FROM dept_dict where r
ORACLE存储过程,函数,包,游标
1、  PL/SQL语句块PL/SQL语句块只适用于Oracle数据库,使用时临时保存在客户端,而不是保存在数据库。基本语法: declare 变量声明、初始化 begin 业务处理、逻辑代码 exception 异常捕获 end;  变量声明:<变量名>  <类型及长度>  [:=<初始值>]            例:v_na...
oracle超出打开游标的最大数的原因和解决方案
解决疑难问题,针对偏僻的问题:oracle超出打开游标的最大数的原因和解决方案,希望能对大家操作数据库有用处
ORACLE语法-包(package)、存储过程(procedure)、游标(cursor)以及java对Result结果集的处理
示例:包规范CREATE OR REPLACE PACKAGE PACK_WMS_YX IS -- Author : CKZ -- Created : 2015/8/28 9:52:29 -- Purpose : 同步数据 -- Public type declarations,游标 退休订单 TYPE retCursor IS REF CURSOR;-- RETURN vi_c
存储过程遍历游标三种方式
CREATE OR REPLACE PROCEDURE PRC_LJ IS    CURSOR C_EMP IS --声明显式游标       SELECT EMPNO,ENAME FROM EMP;     C_ROW C_EMP%ROWTYPE; --定义游标变量,该变量的类型为基于游标C_EMP的记录   BEGIN    --For 循环     FOR C_ROW
ORA-01000: 超出打开游标的最大数 问题的分析和解决
在java代码中,执行conn.createStatement()和conn.prepareStatement()的时候,实际上都是相当与在数据库中打开了一个cursor。尤其是,如果你的createStatement和prepareStatement是在一个循环里面的话,就会非常容易出现这个问题。因为游标一直在不停的打开,而且没有关闭。 一般来说,我们在写Java代码的时候,createStatement和prepareStatement都应该要放在循环外面,而且使用了这些Statment后,及
Oracle遍历游标的几种方式
1.for循环 会自动open和close游标,自动定义了一个记录类型及声明该类型的变量,并自动fetch数据到这个变量中。 我们需要注意Emp_record这个变量无需声明,无需指定数据类型,具体的结构是由游标决定的。这个变量的作用域仅仅是在循环体内。 SET SERVEROUTPUT ON  DECLARE     CURSOR emp_cursor IS SE...
PL/SQL 的一个完整的存储过程,包括游标
----创建需要定时执行的存储过程: create or replace procedure P_CG_Abnormal_Judgment is p_budget_status VARCHAR2(50); p_bu_pur_m_id VARCHAR2(50); BEGIN --建立游标 declare Cursor ...
oracle数据库游标实验报告
oracle数据库游标实验报告!oracle数据库游标实验报告!oracle数据库游标实验报告!
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 智游ios培训 郑州智游ios培训