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

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

相关推荐
老苏畅谈运维16 分钟前
Oracle的connect by level在MySQL中的华丽变身
mysql·oracle
程序边界1 小时前
国产之光!金仓数据库KingbaseES Oracle兼容性深度体验大赏
数据库·oracle
cpsvps_net20 小时前
VPS服务器锁等待超时处理,如何有效解决数据库性能瓶颈
服务器·数据库·oracle
lagelangri6661 天前
数据库连接池以及HikariCP使用
数据库·oracle
semantist@语校1 天前
语校网500所里程碑:日本语言学校数据库的标准化与可追溯机制
大数据·数据库·人工智能·百度·语言模型·oracle·github
落日漫游2 天前
MySQL常用命令全攻略
数据库·sql·oracle
南方者2 天前
【JAVA】【BUG】经常出现的典型 bug 及解决办法
java·oracle·bug
Albert Edison2 天前
【MySQL】表的操作
数据库·mysql·oracle
jackletter4 天前
五大关系数据库(sqlserver、mysql、oracle、pgsql、sqlite)的对象名称和转义字符
mysql·postgresql·oracle·sqlserver·sqlite
AWS官方合作商4 天前
打破数据枷锁:在AWS上解锁Oracle数据库的无限潜能
数据库·oracle·aws