Sqlsugar调用Oracle的存储过程

前段时间在搬迁项目的时候,遇到一个问题,就是用sqlsugar调用oracle的存储过程的时候调用不了;

当时卡了一整天,现在有空了把这个问题记录分享一下。

先去nuget上安装一下sqlsugar的包:

再安装一个oracle的驱动:

添加一下Json包:

再去创建一下连接

再创建一个测试用的存储过程

复制代码
create or replace procedure pr_test(i_name   in varchar2,
                                    i_age    in varchar2,
                                    o_result out sys_refcursor) as

begin

  open o_result for
    select * from dual;

end pr_test;

创建一个类来接受存储过程返回的数据

复制代码
    public class People
    {
        public string Dummy { get; set; }
    }

单独把存储过程里面的那句sql拿出来执行,会得到下面的结果:

dual这个表是oracle提供的一个表,里面就一个X,一般可以用这个来测试数据库连接是不是正常。

调用的方式如下:

里面那个游标的入参必须是个空字符,我之前尝试过object,null,就是没想到过会是一个空字符。

当时也是没想到一个空字符,就把我卡了一个下午,这个坑应该是不会再踩了。

相关推荐
4647的码农历程1 小时前
MySQL -- 复合查询
数据库·mysql·oracle
初学者52136 小时前
ORA-28000: the account is locked 登录被锁定
oracle
AlfredZhao8 小时前
ORACLE数据挖掘之 MSET-SPRT
oracle·ml·odm·mining
铁打的阿秀9 小时前
navicat 创建Oracle连接报错:ora28040 没有匹配的验证协议
数据库·oracle
码上飞扬11 小时前
SQL Server运维实战:十大高频问题分析与解决方案
运维·数据库·oracle
chat2tomorrow20 小时前
QuickAPI:一键将 Excel 数据转为数据库表
数据库·sql·mysql·oracle·excel·统一数据服务·sql2api
油丶酸萝卜别吃1 天前
mariaDB中常见的DDL,DML,DQL语句
数据库·oracle·mariadb
网安Ruler1 天前
vulnhub-Hackme-隧道建立、SQL注入、详细解题、思路清晰。
数据库·sql·oracle
!chen2 天前
查询修改ORACLE的server、客户端和导出dmp文件 字符集编码
数据库·oracle
百锦再2 天前
在 CentOS 上安装 Oracle 数据库
数据库·分布式·安全·oracle·centos·关系型