2

我正在尝试使用以下代码使用 oracle 作为数据库添加参数:

for (int i = 1; i <= count; i++)
{
    var parameterName = ":ref_cur" + i;
    DbParameter parameter = Acidaes.Data.DbHelper.CreateRefCursorParameter(
        parameterName, 
        ParameterDirection.Output);
    command.Parameters.Add(parameter);
}

添加参数时发生以下崩溃

[A]Oracle.DataAccess.Client.OracleParameter 无法转换为 [B]Oracle.DataAccess.Client.OracleParameter。类型 A 源自位置“C:\WINDOWS\assembly\GAC_32\Oracle.DataAccess\2.112.2.0__89b483f429c47342\ Oracle.DataAccess.dll'。类型 B 源自 'Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' 在位置 'C:\WINDOWS\Microsoft.Net\assembly\GAC_32\Oracle.DataAccess\v4 的上下文'Default'中.0_4.112.2.0__89b483f429c47342\Oracle.DataAccess.dll'。

没有找到解决此崩溃的方法。

4

1 回答 1

4

您需要检查您的参考资料,您正在查看的版本不匹配:

DbParameter parameter = 
 Acidaes.Data.DbHelper.CreateRefCursorParameter(parameterName, ParameterDirection.Output);

DbParameter您的代码中引用的类型(在这种情况下为版本)与您的DbHelper类返回的类型不同。您将需要更新这两个项目以引用相同版本的Oracle.DataAccess.

于 2013-03-04T12:37:12.113 回答