I 've encountered a problem while connecting to the oracle database using c# .
1.i have SP in oracle 9i , that returns to cursors(cur1 and cur2 are output parameters)
2. i am passing the cursor types from the code behind also.....as in below code
3. i am getting the error at the red line below.
OracleConnection oOracleConn =
new OracleConnection(); oOracleConn.ConnectionString = "Data Source=oracle;User Id=blah-blah;Password=blah-blah;Integrated Security=no;" ;
oOracleConn.Open();
OracleCommand cmd =
new OracleCommand(); cmd.Connection =oOracleConn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText="SEARCH_USERPROFILE";
OracleParameter prmEmail=
new OracleParameter("inp_email",OracleType.VarChar,100); prmEmail.Direction =ParameterDirection.Input;
prmEmail.Value =email;
OracleParameter prmFirstName=
new OracleParameter("inp_fname",OracleType.VarChar,100); prmFirstName.Direction =ParameterDirection.Input;
prmFirstName.Value =firstName;
OracleParameter prmLastName=
new OracleParameter("inp_lname",OracleType.VarChar,100); prmLastName.Direction =ParameterDirection.Input;
prmLastName.Value =lastName;
OracleParameter prmUserName=
new OracleParameter("inp_username",OracleType.VarChar,100); prmUserName.Direction =ParameterDirection.Input;
prmUserName.Value =userName;
OracleParameter prmMemberNo=
new OracleParameter("inp_memberno",OracleType.Int32,4); prmMemberNo.Direction =ParameterDirection.Input;
prmMemberNo.Value =memberNumber;
OracleParameter prmSearchCursor=
new OracleParameter("SearchCursor",OracleType.Cursor); prmSearchCursor.Direction =ParameterDirection.Output;
OracleParameter prmSearchCursorChild=
new OracleParameter("SearchCursorChild",OracleType.Cursor); prmSearchCursorChild.Direction=ParameterDirection.Output;
cmd.Parameters.Add(prmEmail);
cmd.Parameters.Add(prmFirstName);
cmd.Parameters.Add(prmLastName);
cmd.Parameters.Add(prmUserName);
cmd.Parameters.Add(prmMemberNo);
cmd.Parameters.Add(prmSearchCursor);
cmd.Parameters.Add(prmSearchCursorChild);
//Error: Statement handle not executed occured here. //to read person cursor OracleDataReader reader1 = cmd.ExecuteReader();
reader1 = (OracleDataReader) cmd.Parameters["SearchCursor"].Value;
// to read children cursor OracleDataReader reader2 = cmd.ExecuteReader();
reader1 = (OracleDataReader) cmd.Parameters["SearchCursorChild"].Value;
Thnx in advance
~Arian_Parrot :-) :-)