【问题标题】:Returning Dataset using DBFactory and Oracle Stored Procedure sys ref cusror使用 DBFactory 和 Oracle 存储过程 sys ref cursor 返回数据集
【发布时间】:2012-01-23 23:31:03
【问题描述】:

我正在尝试使用 ODP.NET 提供程序和 DBFactory 从 oracle 引用游标返回数据集。 调用此函数时出现以下错误:

Invalid parameter binding
Parameter name: io_cursor

代码:

Dim dbManager As DBManager = New DBManager(ORACONN)
        Dim ds As New DataSet()

        Dim cmd As DbCommand = dbManager.CreateCommand()
        cmd.CommandText = "SP_NAME"

        Dim param As DbParameter = cmd.CreateParameter()
        param.ParameterName = "io_cursor"
        param.Value = Nothing
        param.DbType = DbType.Object
        param.Direction = ParameterDirection.Output
        cmd.Parameters.Add(param)

        Dim da = dbManager.CreateDataAdaptor()
        da.SelectCommand = cmd
        da.Fill(ds)
        Return ds

我在这里缺少什么? DbType.Object 是否适用于 OracleDbType.RefCursor 类型?

【问题讨论】:

    标签: asp.net oracle enterprise-library data-access-layer odp.net


    【解决方案1】:

    我不认为使用 DbType.Object 会起作用。我认为您应该改用 OracleDbType.RefCursor。

    Documentation and example (C#)

    【讨论】:

    • 谢谢,是的,我知道,我正在创建一个独立于提供者的数据访问层。而且您不能将 param.DBType 设置为 Refcursor。
    猜你喜欢
    • 2012-01-13
    • 2022-07-21
    • 1970-01-01
    • 2016-08-19
    • 2022-08-24
    • 2013-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多