2

我想使用ODP.NET提供程序和DBFactory从Oracle参考游标返回数据集。 我收到以下错误,当我调用这个函数:使用DBFactory和Oracle存储过程返回数据集sys ref cusror

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类型?

回答

3

我不认为使用DbType.Object将工作。我认为你应该使用OracleDbType.RefCursor来代替。

Documentation and example (C#)

+0

谢谢,是的,我知道,我创建一个数据访问层的独立供应商。你不能将param.DBType设置为Refcursor。 – 2011-12-20 16:34:13

相关问题