C# 存储过程返回一个游标,如何在C中使用OLEDB处理该游标#

C# 存储过程返回一个游标,如何在C中使用OLEDB处理该游标#,c#,stored-procedures,oledb,oledbcommand,C#,Stored Procedures,Oledb,Oledbcommand,我正在使用OLEDB驱动程序调用Oracle DB中的存储过程。 存储的进程返回一个游标作为输出。 我可以使用Oracle数据源(System.Data.Oracle.OracleCommand)调用此存储过程,但是我不知道如何使用OLEDB数据源调用此SP。对于如何使用OLEDB指定SP返回光标作为输出的任何帮助,我们将不胜感激 private static OracleCommand CreateOraStoredProcCmd() {

我正在使用OLEDB驱动程序调用Oracle DB中的存储过程。 存储的进程返回一个游标作为输出。 我可以使用Oracle数据源(System.Data.Oracle.OracleCommand)调用此存储过程,但是我不知道如何使用OLEDB数据源调用此SP。对于如何使用OLEDB指定SP返回光标作为输出的任何帮助,我们将不胜感激


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对象上的输出光标


提前谢谢

OLE DB的Oracle提供程序将引用游标的任何参数转换为ADO记录集,但前提是将
PLSQLRSet=1
添加到您的连接字符串中。

我在查询Oracle数据库时遇到问题,PLSQLRSet=1解决了我的问题。我只是将它附加到我的连接字符串中(以;)结尾

卡洛斯·梅里希