반응형
오라클 Number컬럼과 C# iBatis float 사이에 타입 캐스팅에 오류 발생
내가 짠게 아니라 이거 되는거냐 확인해보니 된다는 대답
나는 만진게 없는데 float에서 에러가나는데 왜그럴까 오래 고민했다
InnerException을 미리미리 열어봤어야 했는데...
IBatis에서 이쪽이 float니까 넘어오는걸 Float라 생각하고 GetFloat를 호출하는 것 같다
자료형을 float에서 Oracle의 Number에 대응되는 Decimal로 변경하면 정상 동작하는걸 확인했지만
사용하는 라이브러리에서 float형을 사용하기 때문에 매우 빈번히 호출되는거라 변경할 수가 없는 상태
현재는 필요없는 값이라 그냥 쿼리에서 주석처리했다
- 추가 -
다른 컴퓨터에서는 정상 동작하는데 내 컴퓨터에서만 이런에러가 발생해서 확인해보니
회사에서 사용하는 오라클 버전과 내가 사용하는 오라클 버전이 달라서 생긴 문제였다.
그래서 그냥 매니지드 버전으로 변경함.
내버전은 11.2.0.1.0
출처 : https://ibatis.apache.org/docs/dotnet/datamapper/ch03s07.html
CLR Type | iBATIS support | SqlDbType | OleDbType | OdbcType | OracleType |
---|---|---|---|---|---|
Byte[] | Yes | Binary, Image, VarBinary | Binary, VarBinary | Binary, Image, VarBinary | Raw |
Boolean, bool? | Yes | Bit | Boolean | Bit | Byte |
Byte, byte? | Yes | TinyInt | - | TinyInt | Byte |
DateTime, DateTime? | Yes | DateTime, SmallDateTime | Date | Date, DateTime, SmallDateTime, Time | DateTime |
char, char? | Yes | Not supported | Char | Char | Byte |
Decimal, decimal? | Yes | Decimal, Money, SmallMoney | Decimal, Currency, Numeric | Decimal, Numeric | Number |
Double, double? | Yes | Float | Double | Double | Double |
Guid, Guid? | Yes | UniqueIdentifier | Guid | UniqueIdentifier | Raw |
Int16, Int16? | Yes | SmallInt | SmallIInt | SmallInt | Int16 |
Int32, Int32? | Yes | Int | Integer | Int | Int32 |
Int64, Int64? | Yes | BigInt | BigInt | BigInt | Number |
Single, Single? | Yes | Real | Single | Real | Float |
String | Yes | Char, Nchar, NVarchar, Text, VarChar | Char, VarChar | Char, NChar, NText, NVarChar, Text, VarChar | NVarChar, VarChar |
TimeSpan | No | Not supported | DBTime | Time | DateTime |
UInt16, UInt16? | yes | Int | - | - | UInt16 |
UInt32, UInt32? | yes | Decimal | - | - | UInt32 |
UInt64, UInt64? | yes | Decimal | - | - | Number |
반응형
'백엔드 > 데이터베이스에러' 카테고리의 다른 글
ORA-00919: 함수가 부적합합니다 (0) | 2019.05.15 |
---|---|
ORA-00959: Tablespace does not exist (0) | 2019.05.09 |
[ORA-01502] 인덱스 '인덱스명'또는 인덱스 분할영역은 사용할 수 없은 상태입니다 (0) | 2018.10.23 |
[오라클] ORA-00911:문자가 부적합 합니다.라는 오류가 뜰때 (0) | 2018.08.01 |
동일 키 값 발생 문제 (0) | 2018.05.10 |
댓글