【问题标题】:C# OleDB - Oracle Stored Procedure not returning dataC# OleDB - Oracle 存储过程不返回数据
【发布时间】:2012-03-22 04:14:11
【问题描述】:

我有以下调用存储过程的 C# 代码,但没有返回数据(空/空数据集。)如果我在 TOAD 中运行存储过程,我肯定会得到结果(一行。)我可以更改命令文本到“SELECT * FROM DUAL”,我得到了返回的数据,所以我知道数据库正在成功连接。存储过程接受一个输入参数,并输出五个字段。这是我的代码:

        string connStr = "Provider=OraOLEDB.Oracle;Data Source=database;User Id=username;Password=password;PLSQLRSet=1;";
        OleDbConnection oracleConn = new OleDbConnection(connStr);

        OleDbCommand cmd = new OleDbCommand("{call foo.bar(?, ?, ?, ?, ?, ?)}", oracleConn);
        cmd.CommandType = CommandType.Text;
        cmd.Parameters.Add("p_login", OleDbType.VarChar, 50);
        cmd.Parameters["p_login"].Direction = ParameterDirection.Input;
        cmd.Parameters["p_login"].Value= "FOOBAR";
        cmd.Parameters.Add("p_user_id", OleDbType.VarChar, 50);
        cmd.Parameters["p_user_id"].Direction = ParameterDirection.Output;
        cmd.Parameters.Add("p_user_role", OleDbType.VarChar, 50);
        cmd.Parameters["p_user_role"].Direction = ParameterDirection.Output;
        cmd.Parameters.Add("p_user_first_name", OleDbType.VarChar, 50);
        cmd.Parameters["p_user_first_name"].Direction = ParameterDirection.Output;
        cmd.Parameters.Add("p_user_last_name", OleDbType.VarChar, 50);
        cmd.Parameters["p_user_last_name"].Direction = ParameterDirection.Output;
        cmd.Parameters.Add("p_user_terr_nbr", OleDbType.VarChar, 50);
        cmd.Parameters["p_user_terr_nbr"].Direction = ParameterDirection.Output;
        OleDbDataAdapter da = new OleDbDataAdapter(cmd);
        DataSet ds = new DataSet();
        da.Fill(ds, "dsTest");
        return ds;

【问题讨论】:

    标签: c# oracle stored-procedures oledb


    【解决方案1】:

    我建议将日志记录插入存储过程并查看发送到 Oracle 实例的数据类型或是否调用了该过程。然后从那里调试。

    一般而言,您发送的数据类型或输入/输出参数之间可能存在一些断开连接。

    【讨论】:

    • 所有in/out参数的Oracle数据类型都是"varchar2"
    猜你喜欢
    • 1970-01-01
    • 2016-08-19
    • 2014-10-11
    • 1970-01-01
    • 2018-08-20
    • 2014-05-28
    • 2011-01-31
    • 2019-06-03
    • 2014-08-31
    相关资源
    最近更新 更多