반응형
pl/sql 쿼리를 실행할 때 오버플로 오류를 가져오는 중
C# 코드를 사용하여 [저장 프로시저를 통해] pl/sql 쿼리를 실행하면 다음 오류가 발생합니다.동일한 문제를 해결하려면 어떻게 해야 합니까?조언 부탁드립니다.참고: 코드에서 공급자 SpecificTypes에 대해 false를 전달하고 있습니다.
Error Message:
System.Data.OracleClient.OracleException: OCI-22053: overflow error
at System.Data.Common.DbDataAdapter.FillErrorHandler(Exception e, DataTable dataTable, Object[] dataValues)
at System.Data.Common.DbDataAdapter.FillLoadDataRowChunk(SchemaMapping mapping, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillFromReader(Object data, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
at System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command,
코드는 다음과 같습니다.
DataSet ds = new DataSet();
try
{
this.OpenDBConnection();
this.dbAdapter.ReturnProviderSpecificTypes = providerSpecificTypes;
this.dbAdapter.Fill(ds);
}
catch
{
throw;
}
finally
{
CloseDBConnection();
this.cmd.Parameters.Clear();
}
return ds;
쿼리:
SELECT client_id, TO_CHAR (business_dt, 'MM/DD/YYYY') AS business_dt
, mkt_type
, mkt_name
, product_name
, period
, TO_CHAR (start_dt, 'MM/DD/YYYY') AS start_dt
, TO_CHAR (end_dt, 'MM/DD/YYYY') AS end_dt
, duration
, term
, NULL AS strike_price
, instrument_type
, final_price
, NULL AS product_price
, units
, NULL AS expiry_dt
, mkt_close
, cons_flag
선택한 열 값 중 하나가 을(를) 초과하는 정밀도를 가지고 있습니다.넷의 십진수 유형입니다.이 문제를 해결하는 가장 좋은 방법은 열 값을 관리 가능한 미리 보기 크기로 반올림하는 것입니다.보통 저는 그것보다 더 이상 필요하지 않을 것이기 때문에 소수점 두 자리로 반올림합니다, 당신은 당신의 필요에 따라 선택하는 것이 좋을 것입니다.
즉, 정밀도가 높은 모든 열을 필요한 소수점 이하의 수로 반올림하도록 쿼리를 변경합니다.
예:
Select ROUND(final_price, 2) From <your table>
문제를 해결해야 합니다.
언급URL : https://stackoverflow.com/questions/7688645/getting-overflow-error-when-executing-pl-sql-query
반응형
'programing' 카테고리의 다른 글
MariaDB를 시작할 수 없는 이유는 무엇입니까? (0) | 2023.09.07 |
---|---|
UDP 소켓 세트 시간 초과 (0) | 2023.09.07 |
빔 위드 파워셸 (0) | 2023.07.29 |
matplotlib에서 색상표의 중간점 정의 (0) | 2023.07.29 |
뒤로 버튼을 클릭하면 크로스 브라우저 온로드 이벤트가 발생합니까? (0) | 2023.07.29 |