문서유형ㅣ장애해결
분야ㅣ관리/환경설정
적용제품버전ㅣ5F
문서번호ㅣTADTS065
현상
System.OverflowException: 산술 연산으로 인해 오버플로가 발생했습니다.
발생위치
- System.Data.Odbc.OdbcStatementHandle.RowCount(SQLLEN& rowCount)
- System.Data.Odbc.OdbcDataReader.GetRowCount()
- System.Data.Odbc.OdbcDataReader.FirstResult()
- System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod)
- System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader)
- System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior)
- kolonBatch.Form1.getUserInformation()
적용사양
tbodbc_driver_installer_5_64.exe -c
ODBC 버전
This driver is 64 bit file.
Version : 5, 0, 0, 77652 이상
원인
Tibero ODBC는 cli 기반으로 개발되어 sql integer 내부적으로 long 타입을 사용합니다. 이 때 Windows에서 long의 4byte 스펙 차이로 인해 overflow가 발생할 수 있습니다.
해결
ODBC 연동 시, Connection String에 "TYPE=ODBC " 속성을 추가하여 설정합니다.
Connect String -> "Driver={Tibero 5 ODBC
Driver};SERVER=192.168.XX.XXX;PORT=8629;DataBase=tibero;UID=tibero;PWD=tmax;TYPE=ODBC;";