我的C#(.NET 4.0)应用程序正在调用PL / SQL数据库中的存储过程。我添加了命名空间System.Data.OracleClient,并添加了参数但是每当我运行它时,我都会得到一个异常,说参数不匹配。
我认为问题是因为我的参数是DbType.String或OracleType.VarChar类型。在线阅读显示人们使用另一个名为OracleDbType的枚举(例如OracleDbType.VarChar2)。
那么,我该如何访问此枚举?
OracleParameter returnParam = new OracleParameter("result", DbType.Xml);
returnParam.Direction = ParameterDirection.ReturnValue;
objCmd.Parameters.Add(returnParam);
OracleParameter param1 = new OracleParameter("pivequivalentinstrument", DbType.String);
param1.Direction = ParameterDirection.Input;
param1.Value = EquivalentInstrKey;
objCmd.Parameters.Add(param1);
答案 0 :(得分:4)
OracleDbType为ODP: Oracle.DataAccess.Client而不是deprecated System.Data.OracleClient,请尝试使用ODP,它应该在那里。
答案 1 :(得分:2)
您必须将参数直接转换为OracleParameter
才能访问OracleDbType
属性。