Vb.net 带有ODP.NET的企业库5.0导致ORA-06502错误
在使用添加了EntLibContrib.Data.OdpNet的企业库5.0时,我遇到了一个奇怪的错误 当我试图运行一个包时,我得到一个ORA-06502错误。当我尝试使用标准ODP.NET并使用OracleDataTypes而不是泛型DbTypes来运行包时,它工作得很好 我尝试将数字参数转换为DbType.Decimal,将Varchar2转换为DbType.String。我还尝试过VarNumeric(显然无法转换)和AnsiString。我一直无法让包运行 这是包裹的签名:Vb.net 带有ODP.NET的企业库5.0导致ORA-06502错误,vb.net,oracle,enterprise-library,odp.net,Vb.net,Oracle,Enterprise Library,Odp.net,在使用添加了EntLibContrib.Data.OdpNet的企业库5.0时,我遇到了一个奇怪的错误 当我试图运行一个包时,我得到一个ORA-06502错误。当我尝试使用标准ODP.NET并使用OracleDataTypes而不是泛型DbTypes来运行包时,它工作得很好 我尝试将数字参数转换为DbType.Decimal,将Varchar2转换为DbType.String。我还尝试过VarNumeric(显然无法转换)和AnsiString。我一直无法让包运行 这是包裹的签名: proced
procedure process_Something(
o_param1 OUT VARCHAR2,
o_param2 OUT VARCHAR2,
in_ID1 IN NUMBER,
in_ID2 IN NUMBER,
in_UNIQUE1 IN VARCHAR2,
in_STR_PARAM1 IN VARCHAR2,
in_STR_PARAM2 IN VARCHAR2,
in_STR_PARAM3 IN VARCHAR2,
in_STR_PARAM4 IN VARCHAR2,
in_STR_PARAM5 IN VARCHAR2,
in_NUM_PARAM IN NUMBER,
in_STR_PARAM6 IN VARCHAR2,
in_STR_PARAM7 IN VARCHAR2,
in_STR_PARAM8 IN VARCHAR2,
in_STR_PARAM9 IN VARCHAR2,
in_STR_PARAM10 IN VARCHAR2,
);
下面是我用来调用它的代码:
var oComm = db.GetStoredProcCommand("APPS.MY_PACKAGE.process_Something");
db.AddInParameter(oComm, "in_ID1", DbType.Decimal, int.Parse(item.ID1));
db.AddInParameter(oComm, "in_ID2", DbType.Decimal, int.Parse(item.ID2));
db.AddInParameter(oComm, "in_UNIQUE1", DbType.String, item.Unique1.Trim());
db.AddInParameter(oComm, "in_STR_PARAM1", DbType.String, item.STR_Param1.Trim());
db.AddInParameter(oComm, "in_STR_PARAM2", DbType.String, item.STR_Param2.Trim());
db.AddInParameter(oComm, "in_STR_PARAM3", DbType.String, item.STR_Param3.Trim());
db.AddInParameter(oComm, "in_STR_PARAM4", DbType.String, item.STR_Param4.Trim());
db.AddInParameter(oComm, "in_STR_PARAM5", DbType.String, item.STR_Param5.Trim());
db.AddInParameter(oComm, "in_NUM_PARAM", DbType.Decimal, int.Parse(string.IsNullOrEmpty(item.NumParam.Trim()) ? "0" : item.NumParam));
db.AddInParameter(oComm, "in_STR_PARAM6", DbType.String, item.STR_Param6.Trim());
db.AddInParameter(oComm, "in_STR_PARAM7", DbType.String, string.Empty);
db.AddInParameter(oComm, "in_STR_PARAM8", DbType.String, item.STR_Param8.Trim());
db.AddInParameter(oComm, "in_STR_PARAM9", DbType.String, item.STR_Param9.Trim());
db.AddInParameter(oComm, "in_STR_PARAM10", DbType.String, item.STR_Param10.Trim());
db.AddOutParameter(oComm, "o_param1", DbType.String, 200);
db.AddOutParameter(oComm, "o_param2", DbType.String, 200);
db.ExecuteNonQuery(oComm);