Visual Studio 2010, Oracle Database 10g 및 System.Data.OracleClient 라이브러리를 사용하고 있습니다. 내 문제는 때 내가 오버플로 오류가 데이터베이스에서 프로 시저를 실행하려면 원하는 것입니다. 나는 책을 읽고 있었고 너무 커서 ROUND 또는 TRUNCT 숫자가 필요하다고 말했다. 하지만 난 프로 시저를 변경하려면 데이터베이스에 액세스 할 수 없습니다. 그리고 내가 얻은 값은 OutParameter가있는 OracleParameter입니다. 이 문제를 어떻게 해결할 수 있는지 알고 있습니까?OracleClient 및 C# 4.0의 오버플로 오류
objCommand.Connection = objConnection;
objCommand.CommandText = "Procedure_name";
objCommand.CommandType = CommandType.StoredProcedure;
objCommand.Parameters.AddRange(parameters); //parameters is a OracleParameter array. I fill it previously.
objConnection.Open();
objCommand.ExecuteNonQuery(); //Here throw the exception
추신 :이 절차는 PL/SQL에서 완벽하게 작동하며 최대 개수는 다음과 같습니다. 숫자는 "1.66529411764706"입니다.
PS2 : 다시,이 절차를 변경할 수있는 권한이 없습니다. Visual Studio에서이 오류를 해결해야합니다.
PS3 : 오류는 OCI-22053 : 오버플로 오류입니다. 즉 내가 오류 :(당신이 출력 매개 변수는 문제가 결정할 수있는 경우
감사합니다! 매개 변수의 이름을 문자열 이전에 설정되는 모든
parameters[0] = CreateParameter(PC_COD_CU, OracleType.VarChar, codCu);
parameters[1] = CreateParameter(PC_COD_EM, OracleType.VarChar, codEm);
parameters[2] = CreateParameter(PN_SACIC, OracleType.Number, ParameterDirection.Output);
parameters[3] = CreateParameter(PN_SAVSF, OracleType.Number, ParameterDirection.Output);
parameters[4] = CreateParameter(PN_MTO_B, OracleType.Number, ParameterDirection.Output);
parameters[5] = CreateParameter(PN_ULT_REM, OracleType.Number, ParameterDirection.Output);
parameters[6] = CreateParameter(PN_AVG_REM, OracleType.Number, ParameterDirection.Output);
parameters[7] = CreateParameter(PN_TO_SEG, OracleType.Number, ParameterDirection.Output);
parameters[8] = CreateParameter(PN_TA_APL, OracleType.Number, ParameterDirection.Output);
parameters[9] = CreateParameter(PN_TA_D, OracleType.Number, ParameterDirection.Output);
parameters[10] = CreateParameter(PN_DEV_ULT, OracleType.Number, ParameterDirection.Output);
parameters[11] = CreateParameter(PC_TO_F_OBL, OracleType.VarChar, ParameterDirection.Output);
parameters[12] = CreateParameter(PC_TO_F_VCF, OracleType.VarChar, ParameterDirection.Output);
parameters[13] = CreateParameter(PC_TO_F_VSF, OracleType.VarChar, ParameterDirection.Output);
parameters[14] = CreateParameter(PN_RA_MIN_VIG, OracleType.Number, ParameterDirection.Output);
parameters[15] = CreateParameter(PC_PE_MIN_SPP, OracleType.VarChar, ParameterDirection.Output);
parameters[16] = CreateParameter(PC_IND_CON_RES, OracleType.VarChar, ParameterDirection.Output);
parameters[17] = CreateParameter(PC_NUM_RES, OracleType.VarChar, ParameterDirection.Output);
parameters[18] = CreateParameter(PN_VA_NO_RES, OracleType.Number, ParameterDirection.Output);
parameters[19] = CreateParameter(PC_ME, OracleType.VarChar, ParameterDirection.Output);
parameters[20] = CreateParameter(PN_GA_SEP, OracleType.Number, ParameterDirection.Output);
parameters[21] = CreateParameter(PC_TO_TRA, OracleType.VarChar, ParameterDirection.Output);
parameters[22] = CreateParameter(PC_TO_BO, OracleType.VarChar, ParameterDirection.Output);
parameters[23] = CreateParameter(PN_PSEG_NO_D_MIN, OracleType.Number, ParameterDirection.Output);
parameters[24] = CreateParameter(PN_PSEG_NO_D_AVG, OracleType.Number, ParameterDirection.Output);
parameters[25] = CreateParameter(PN_PSEG_AJU_S_MIN, OracleType.Number, ParameterDirection.Output);
parameters[26] = CreateParameter(PN_PSEG_AJU_S_AVG, OracleType.Number, ParameterDirection.Output);
parameters[27] = CreateParameter(PN_PSEG_AJU_D_MIN, OracleType.Number, ParameterDirection.Output);
parameters[28] = CreateParameter(PN_PSEG_AJU_D_AVG, OracleType.Number, ParameterDirection.Output);
parameters[29] = CreateParameter(PN_PAJU_AU_S, OracleType.Number, ParameterDirection.Output);
parameters[30] = CreateParameter(PN_PAJU_AU_D, OracleType.Number, ParameterDirection.Output);
parameters[31] = CreateParameter(PN_PRP, OracleType.Number, ParameterDirection.Output);
parameters[32] = CreateParameter(PN_PJAN, OracleType.Number, ParameterDirection.Output);
parameters[33] = CreateParameter(PN_MON_TO_CAM, OracleType.Number, ParameterDirection.Output);
parameters[34] = CreateParameter(RETURN_VALUE, OracleType.Number, ParameterDirection.ReturnValue);
.
매개 변수를 설정하는 코드를 추가 할 수 있습니까? –
오버플로 오류 란 무엇입니까 스택 오버플로, 산술 연산 오버플로 스택 추적 및 내부 예외를 포함하여 예외에 대한 전체 정보를 제공합니다. –