DDTek.Oracle问题(Wire numeric read overflowed)
用System.Data.OracleClient能正常访问Package中的Function,代码如下:
OracleParameter[] paras ={ new OracleParameter("loginID",OracleType.VarChar,38),
new OracleParameter("p_Name",OracleType.VarChar),
new OracleParameter("p_VirtualSystem_ID",OracleType.Number),
new OracleParameter("p_Password",OracleType.VarChar)};
paras[0].Direction = ParameterDirection.ReturnValue;
paras[1].Value = user.Name;
paras[2].Value = user.VirtualSystemID;
paras[3].Value = user.Password;
OracleCommand.ExecuteNonQuery();
但我用DDTek.Oracle访问Package中的Function,出现异常“Wire numeric read overflowed”,代码如下
DDTek.Oracle.OracleParameter[] paras ={ new DDTek.Oracle.OracleParameter("loginID",DDTek.Oracle.OracleDbType.VarChar,38),
new DDTek.Oracle.OracleParameter("p_Name",DDTek.Oracle.OracleDbType.VarChar),
new DDTek.Oracle.OracleParameter("p_VirtualSystem_ID",DDTek.Oracle.OracleDbType.Number),
new DDTek.Oracle.OracleParameter("p_Password",DDTek.Oracle.OracleDbType.VarChar)};
paras[0].Direction = ParameterDirection.ReturnValue;
paras[1].Value = user.Name;
paras[2].Value = user.VirtualSystemID;
paras[3].Value = user.Password;
DDTek.Oracle.OracleCommand.ExecuteNonQuery();
函数形式为:
FUNCTION Login(p_Name IN VARCHAR2,
p_VirtualSystem_ID IN NUMBER,
p_Password IN VARCHAR2)
RETURN VARCHAR2
。。。。。
欢迎大家指教.........