前段时间在搬迁项目的时候,遇到一个问题,就是用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,就是没想到过会是一个空字符。
当时也是没想到一个空字符,就把我卡了一个下午,这个坑应该是不会再踩了。
标签:存储,调用,一个,空字符,oracle,Oracle,过程,Sqlsugar From: https://www.cnblogs.com/lvpp13/p/18534650