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

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

相关推荐
GreatSQL社区1 小时前
GreatSQL MGR三节点基于时间点恢复
数据库·oracle
喵个咪14 小时前
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:基于 GORM 从零实现新服务
后端·go·orm
喵个咪16 小时前
开箱即用的 GoWind Admin|风行,企业级前后端一体中后台框架:基于 Ent 从零实现新服务
后端·go·orm
快乐非自愿16 小时前
数据库如何处理大量的交易流水记录
数据库·oracle
当代红领巾18 小时前
Oracle 表空间扩容
数据库·oracle
Leon-Ning Liu18 小时前
Oracle 19c RAC ASM 密码文件恢复方方案二:基于密码文件备份还原
数据库·oracle
DBA小马哥19 小时前
信创背景下国产数据库选型指南:聚焦Oracle迁移场景的深度对比
数据库·oracle
workflower21 小时前
PostgreSQL 数据库的典型操作
数据结构·数据库·oracle·数据库开发·时序数据库
一颗宁檬不酸1 天前
Oracle序列从2开始而不是从1开始的常见原因及解决方法
数据库·oracle
Leon-Ning Liu1 天前
Oracle 19c RAC ASM 密码文件恢复方案三:将补丁升级至 19.8 版本后,利用 asmcmd --nocp credfix 进行修复
数据库·oracle