我正在尝试使用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源自'Oracle.DataAccess,Version = 2.112.2.0,Culture = neutral,PublicKeyToken = 89b483f429c47342',位于'默认'位置'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 .0_4.112.2.0__89b483f429c47342 \ Oracle.DataAccess.dll”。
没有找到解决此崩溃的方法。
答案 0 :(得分:4)
您需要检查您的参考文献,您正在查看的版本中存在不匹配:
DbParameter parameter =
Acidaes.Data.DbHelper.CreateRefCursorParameter(parameterName, ParameterDirection.Output);
代码中引用的 DbParameter
与DbHelper
类返回的类型不同(在本例中为版本)。您需要更新这两个项目以引用相同版本的Oracle.DataAccess
。