C# 调用Oracle的存储过程 包含入参出参

ServerName  主机名(xx.xx.xx.xx),

UserName 用户名,

Password 密码,

DataBaseName SID,

port 端口号

直接调用该方法即可,如果出现

Oracle.ManagedDataAccess, Version=4.122.19.1, Culture=neutral, PublicKeyToken=89b483f429c47342”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)  问题,参考下面连接

https://blog.csdn.net/qq_27524147/article/details/127067624

public static string GetProc(string procname, string ServerName, string UserName, string Password, string DataBaseName, string port)
        {
            //ServerName, UserName, Password, DataBaseName, port
            string connString = $"Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST={ServerName})(PORT={port}))(CONNECT_DATA=(SERVICE_NAME={DataBaseName})));Persist Security Info=True;User ID= {UserName};Password={Password};";

            OracleConnection conn = new OracleConnection(connString);//实例化
            conn.Open();

            OracleCommand cmd = conn.CreateCommand();

            cmd.CommandType = CommandType.StoredProcedure;
            //过程名
            cmd.CommandText = procname;
            
            //有入参就设置入参,我这过程只有出参,就不演示入参的了
            cmd.Parameters.Add("V_RETURNMSG", OracleDbType.Varchar2, 200).Direction = ParameterDirection.Output;
            cmd.Parameters.Add("V_RETURNVALUE", OracleDbType.Int32, 10).Direction = ParameterDirection.Output;

 
            cmd.ExecuteReader();

            //接受执行存储过程之后返回的参数值
            string sa = cmd.Parameters["V_RETURNMSG"].Value.ToString();

            return sa;
        }

过程内容执行成功(成功返回 ‘ ’,由个人自行决定成功返回结果内容)情况:

过程内容执行失败情况:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值