我正在使用 OLEDB 驱动程序调用 Oracle DB 中的存储过程。存储过程返回一个游标作为输出。我可以使用 Oracle 数据源 (System.Data.Oracle.OracleCommand) 调用此存储过程,但是我不知道如何使用 OLEDB 数据源调用此 SP。任何有关如何指定 SP 的帮助都将返回一个光标作为使用 OLEDB 的输出。
private static OracleCommand CreateOraStoredProcCmd()
{
string storedProcName = "pkg_query.prc_get_my_trades";
OracleCommand cmd = new OracleCommand(storedProcName);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("book_list", "Jan, Feb");
cmd.Parameters.AddWithValue("maturity_date_start", DateTime.Now.ToString("dd-MMM-yyyy"));
cmd.Parameters.AddWithValue("maturity_date_end", DateTime.Now.ToString("dd-MMM-yyyy"));
cmd.Parameters.AddWithValue("ccy_list", "GBP,USD");
cmd.Parameters.Add("trades", OracleType.Cursor).Direction = ParameterDirection.Output;
return cmd;
}
我不知道如何指定参数“trades”是 OledbCommand 对象上的输出光标。
提前致谢!