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,就是没想到过会是一个空字符。

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

相关推荐
码农阿豪5 小时前
Oracle 到金仓数据库迁移实战:一次真正“落地”的国产替代之旅
java·数据库·oracle
曹牧6 小时前
Oracle闪回区配置与故障处理操作指南
数据库·oracle
Apple_羊先森7 小时前
ORACLE数据库巡检SQL脚本--15、表空间的运行状态
数据库·sql·oracle
数据与人7 小时前
ksql 元命令完整帮助
数据库·oracle
姚远Oracle ACE7 小时前
Step-by-Step: 在 Linux 上使用 VMware 安装 Oracle 26ai RAC 数据库
linux·数据库·oracle
sg_knight8 小时前
如何通过 SQL*Plus 连接 Oracle 数据库(使用 Instant Client)
运维·数据库·sql·oracle·database·关系型数据库·sql puls
DBA小马哥10 小时前
Oracle兼容替换案例:某省运营商传输网管系统国产化落地实战
数据库·oracle
倔强的石头10611 小时前
关系数据库替换用金仓:从 Oracle 到 KingbaseES 的迁移实战
数据库·oracle·kingbase
半岛铁盒BKB11 小时前
Oracle19c分区表全局索引维护指南
oracle·hash-index
Amarantine、沐风倩✨1 天前
一次线上性能事故的处理复盘:从 SQL 到扩容的工程化思路
java·数据库·sql·oracle