以下是使用C#调用Oracle存储过程的示例代码:

using System;
using System.Data;
using Oracle.DataAccess.Client;

class Program
{
    static void Main(string[] args)
    {
        string connectionString = "Data Source=<your data source>;User Id=<your user id>;Password=<your password>;";

        using (OracleConnection connection = new OracleConnection(connectionString))
        {
            connection.Open();

            OracleCommand command = new OracleCommand("your_stored_procedure_name", connection);
            command.CommandType = CommandType.StoredProcedure;

            // 添加存储过程参数
            OracleParameter parameter1 = new OracleParameter("param1", OracleDbType.Varchar2);
            parameter1.Direction = ParameterDirection.Input;
            parameter1.Value = "value1";
            command.Parameters.Add(parameter1);

            OracleParameter parameter2 = new OracleParameter("param2", OracleDbType.Int32);
            parameter2.Direction = ParameterDirection.Input;
            parameter2.Value = 123;
            command.Parameters.Add(parameter2);

            OracleParameter parameter3 = new OracleParameter("param3", OracleDbType.RefCursor);
            parameter3.Direction = ParameterDirection.Output;
            command.Parameters.Add(parameter3);

            // 执行存储过程并读取输出参数
            command.ExecuteNonQuery();
            OracleDataReader reader = ((OracleRefCursor)parameter3.Value).GetDataReader();
            while (reader.Read())
            {
                Console.WriteLine(reader.GetString(0));
            }
        }
    }
}

在示例代码中,我们首先创建了一个OracleConnection对象,并打开了连接。然后创建了一个OracleCommand对象,设置CommandType为StoredProcedure,即执行存储过程。接着添加了存储过程的输入参数和输出参数。最后执行存储过程,并读取输出参数的结果。

需要注意的是,在使用Oracle.DataAccess.Client命名空间之前,需要先安装Oracle Data Provider for .NET(ODP.NET)驱动程序。可以通过NuGet包管理器来安装ODP.NET驱动程序包。

C# 调用ORACLE 存储过程

原文地址: https://www.cveoy.top/t/topic/uvS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录