Oracleストアドプロシージャを実行するサンプルです。
INパラメータとOUTパラメータを1つづつ使用しています。
サンプル
例)PROCEDURE「TEST_PROC(p1 IN NUMBER, p2 OUT VARCHAR2)」を実行する
using System;
using System.Data;
using System.Data.Common;
using Oracle.ManagedDataAccess.Client;
//接続文字列
string connStr = "user id=XXX; password=XXX; data source=999.999.999.999:1521/ZZZ";
try
{
  //コネクションを生成する
  using (OracleConnection conn = new OracleConnection())
  {
    //コネクションを取得する
    conn.ConnectionString = connStr;
    conn.Open();
    //コマンドを生成する
    using (OracleCommand command = new OracleCommand())
    {
      //コネクションを設定
      command.Connection = conn;
      //コマンドタイプに「ストアド」を設定
      command.CommandType = CommandType.StoredProcedure;
      //ストアド名を設定
      command.CommandText = @"TEST_PROC";
      //パラメータ1(IN)をセットする
      command.Parameters.Add("p1", OracleDbType.Int16, ParameterDirection.Input).Value = 10;
 
      //パラメータ2(OUT)をセットする
      var pOut = command.Parameters.Add("p2", OracleDbType.Varchar2, ParameterDirection.Output);
      //ストアドを実行する
      command.ExecuteNonQuery();
      //OUTパラメータを取得する
      string a = pOut.Value;
    }
    //コネクションを切断する
    conn.Close();
    //コネクションを破棄する
    conn.Dispose();
  }
}
catch (Exception ex)
{
  //エラー時はエラー内容をコンソールに出力する
  Console.WriteLine(ex);
}備考
- 事前にVisualStudioにOracleのドライバー「Oracle.ManagedDataAccess」をインストールして参照設定をしておいてください。(以下、関連記事をご覧ください。)
- 7行目の接続情報は以下記事を参考に、お使いの環境に書き換えてください。
 → [C#] DBコネクション接続文字列のパラメータ一覧
