I am trying to use an Oracle Data Reader with a ref cursor within a package I have created.
Using Visual Studio and C#.
Although I am getting two build errors concerning my reader:
Below is my code:
protected void Page_Load(object sender, EventArgs e)
        {
            string oradb = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=*****)(PORT=***))(CONNECT_DATA=(SERVICE_NAME=***)));User Id=APPS;Password=****;";
            OracleConnection conn = new OracleConnection(oradb);  // C#
            conn.Open();
            OracleCommand myCMD = new OracleCommand();
            myCMD.Connection = conn;
            myCMD.CommandText = "apps.cie_install_base_data.get_serial_trx_hist";
            myCMD.CommandType = CommandType.StoredProcedure;
            myCMD.Parameters.Add(new OracleParameter("p_cursor", OracleDbType.RefCursor)).Direction = ParameterDirection.Output;
            myCMD.Parameters.Add("p_serial_number", OracleDbType.Varchar2, 30).Value = "M5605946";
            OracleDataReader myReader = default(OracleDataReader);
            try
            {
                myCMD.ExecuteNonQuery();
            }
            catch (Exception myex)
            {
                Label1.Text = " " + myex.Message;
            }
            myReader = myCMD.Parameters("p_cursor"); 
            int x = 0;
            int count = 0;
            count = 0;
            //myReader = myCMD.ExecuteReader();
            while (myReader.Read()) {
            for (x = 0; x <= myReader.FieldCount - 1; x++) {
            Label3.Text = myReader(x) + " ";
            }
            Label4.Text = " ";
            count += 1;
            }
            Label5.Text = (count + " Rows Returned.");
            myReader.Close();
            conn.Close();
        }
    }
 }
If anyone can see why I am getting these build errors, or knows how I can get the data to be displayed properly that would be great.
myReader = ((OracleRefCursor)myCMD.Parameters["p_cursor"].Value)).GetDataReader(); 
from https://docs.oracle.com/cd/B19306_01/win.102/b14307/OracleRefCursorClass.htm
Unlike VB, C# uses brackets to index collections.
Use [], not ().
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With