前段时间在搬迁项目的时候,遇到一个问题,就是用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,就是没想到过会是一个空字符。

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

Sqlsugar调用Oracle的存储过程的更多相关文章

  1. java下实现调用oracle的存储过程和函数

    在Oracle下创建一个test的账户,然后 1.创建表:STOCK_PRICES --创建表格 CREATE TABLE STOCK_PRICES( RIC VARCHAR() PRIMARY KE ...

  2. C#调用Oracle的存储过程时,连接字符串需要配置PLSQLRSet=1

    C#调用Oracle的存储过程时, 如果有个SYS_REFCURSOR的Output参数存储时, web.config文件中的连接字符串需要配置PLSQLRSet=1, 否则可能会报这个错:参数个数或 ...

  3. firedac调用ORACLE的存储过程

    firedac调用ORACLE的存储过程 EMB官方原文地址:http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Using_Oracle_with_F ...

  4. 【学习】java下实现调用oracle的存储过程和函数

    在oracle下创建一个test的账户,然后按一下步骤执行: 1.创建表:STOCK_PRICES --创建表格CREATETABLE STOCK_PRICES( RIC VARCHAR(6) PRI ...

  5. Java代码调用Oracle的存储过程,存储函数和包

    Java代码调用存储过程和存储函数要使用CallableStatement接口 查看API文档: 上代码: java代码调用如下的存储过程和函数: 查询某个员工的姓名  月薪 职位 create or ...

  6. Hibernate调用Oracle的存储过程

    众所周知,当过多的使用存储过程,触发器等 数据库方言相关的应用时,应用程序的移植性会变差,特别是在Hibernate中使用这些,简直是讽刺,但是当今中国又有哪家公司做项目会关心应用程序的移植性呢? 现 ...

  7. Java 如何调用 oracle 的存储过程

    通过命令行创建存储过程 create or replace procedure emp_sal(eno emp.empno%type,esal out emp.sal%type) as begin s ...

  8. java调用Oracle分页存储过程

    Java程序 package com.test; import java.sql.CallableStatement; import java.sql.Connection; import java. ...

  9. java 调用oracle 分页存储过程 返回游标数据集

    1.分页类 package org.zh.basic; /** * 页面类 * * @author keven * */ public class PageInfo { // 定义 private S ...

  10. java调用Oracle存储存储过程

    数据库表和增删改的procedure参照(http://www.cnblogs.com/J-wym/p/3292913.html) 1.测试添加数据的procedure public void tes ...

随机推荐

  1. 7E头的那些事儿(帧格式分析实例)

    0. 前言 作为一名嵌入式工程师,经常需要通过UART与外设打交道,而对于串行总线来说,往往我们必须要进行帧同步.通常的做法是把信令包含在2个0x7E的中间. 除此之外还有HDLC.PPP等协议也会到 ...

  2. 线性dp:最长公共子序列

    最长公共子序列 本文讲解的题与leetcode1143.最长公共子序列这题一样,阅读完可以挑战一下. 力扣题目链接 题目叙述: 给定两个字符串,输出其最长公共子序列,并输出它的长度 输入: ADABE ...

  3. CF1693D--单调区间

    \(T_4\) 单调区间结题报告 题目描述 一句话题意:给定一个排列 \(a\) 算出有多少个区间 \([l , r]\) , 满足其可以划分为一个单调递增子序列和单调递减子序列,其中单调递增子序列长 ...

  4. TOML 使用

    TOML Reference TOML Tom's Obvious, Minimal Language TOML 被设计成可以无歧义地映射为哈希表.(相当于 JSON 对象吧) 注释 # 这是一个全行 ...

  5. AutoFitTextureView Error inflating class

    报错: Binary XML file line #0: Binary XML file line #0: Error inflating class xxx.AutoFitTextureView 解 ...

  6. 【转】ElasticSearch报错FORBIDDEN/12/index read-only / allow delete (api) ,read_only_allow_delete 设置 windows

    仅供自己记录使用,原文链接:ElasticSearch报错FORBIDDEN/12/index read-only / allow delete (api)_sinat_22387459的博客-CSD ...

  7. 【YashanDB知识库】开源调度框架Quartz写入Boolean值到YashanDB报错

    问题现象 Quartz 是一个广泛应用于企业级应用中的开源作业调度框架,它主要用于在Java环境中管理和执行任务. 为了任务调度,Quartz的数据模型中使用了大量的布尔值记录任务.流程的各种状态,如 ...

  8. git 乱操作

    https://www.cnblogs.com/qybk/p/10880901.html 错误提示一样,只是我是在我自己的分支(xxx_dev)里.所以以下要改一下. git pull origin ...

  9. ASP.NET Core Library – ImageSharp

    前言 2021 年就写过一篇了, Asp.net core 学习笔记 Image processing (ImageSharp), 只是那时还是旧的写法, 这篇作为翻新和以后继续增加新功能的介绍. I ...

  10. Angular 学习笔记 language service

    尝试 v10 rc 的时候, 突然 language service 不 work 了. ctrl + shift + p -> Show logs... 这样可以检查和 report issu ...