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

  。。。。。

 

 

欢迎大家指教.........

posted @ 2010-06-08 10:01  nyzfl  阅读(2223)  评论(2编辑  收藏  举报