Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak wywołać procedurę składowaną Oracle, która zwraca kursor ref?

Przykład:

string connStr = "Data Source=...";
DataSet dataset = new DataSet();

string connStr = ConfigurationManager.ConnectionStrings["OracleConn"].ToString();

using (OracleConnection objConn = new OracleConnection(connStr))
{
    OracleCommand cmd = new OracleCommand();
    cmd.Connection = objConn;
    cmd.CommandText = "Oracle_PkrName.Stored_Proc_Name";
    cmd.CommandType = CommandType.StoredProcedure;
    cmd.Parameters.Add("Emp_id", OracleType.Int32).Value = 3; // Input id
    cmd.Parameters.Add("Emp_out", OracleType.Cursor).Direction = ParameterDirection.Output;

    try
    {
        objConn.Open();
        cmd.ExecuteNonQuery();
        OracleDataAdapter da = new OracleDataAdapter(cmd);
        da.Fill(dataset);                   
    }
    catch (Exception ex)
    {
        System.Console.WriteLine("Exception: {0}", ex.ToString());
    }
    objConn.Close();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Właściwy sposób na ustawienie ORACLE_HOME?

  2. Jak ograniczyć wyniki w Oracle

  3. Błąd :ORA-06553:PLS-306:błędna liczba lub typy argumentów w wywołaniu procedury

  4. Dlaczego mogę użyć znaku, który nie jest częścią zestawu znaków (windows-1252)?

  5. Jak wstawić dwa wiersze?