Oracle.ManagedDataAccess.Client.OracleDbType 열거형과 Oracle전용 데이터형 매칭하는 방법


ODP.NET에서 제공하는

Oracle.ManagedDataAccess.Client.OracleDbType 열거형에 기본 Oracle용 데이터 형이 존재 하지 않는다.


Odp. Net을 이용하여, 프로시저를 호출하는 함수를 만들다보니 프로시저 호출시 인자로 OracleParameter에

OracleDbType을 지정해 줘야는데, Oracle에서는 Number로 선언된 칼럼인데, OracleDbType에는 Number가 존재 하지 않는다. 그래서 찾아 봤더니 아래 표와같이 Oracle전용 타입을 OracleDbType에 있는 표준타입(?)으로 사용하면 된다.


아래 표를 참고하면 내가 찾던 Number형은 OracleDbType에서 Decimal로 사용하면 된다.


OracleDbType 멤버 설명(Oracle데이터형)
Array Oracle Collection (VArray or Nested Table)
Not Available in ODP.NET, Managed Driver
BFile Oracle BFILE type
BinaryFloat Oracle BINARY_FLOAT type
BinaryDouble Oracle BINARY_DOUBLE type
Blob Oracle BLOB type
Boolean Oracle BOOLEAN type
Not Available in ODP.NET, Managed Driver
Byte byte type
Char Oracle CHAR type
Clob Oracle CLOB type
Date Oracle DATE type
Decimal Oracle NUMBER type
Double 8-byte FLOAT type
Int16 2-byte INTEGER type
Int32 4-byte INTEGER type
Int64 8-byte INTEGER type
IntervalDS Oracle INTERVAL DAY TO SECOND type
IntervalYM Oracle INTERVAL YEAR TO MONTH type
Long Oracle LONG type
LongRaw Oracle LONG RAW type
NChar Oracle NCHAR type
NClob Oracle NCLOB type
NVarchar2 Oracle NVARCHAR2 type
Object Oracle Object
Not Available in ODP.NET, Managed Driver
Raw Oracle RAW type
Ref Oracle REF
Not Available in ODP.NET, Managed Driver
RefCursor Oracle REF CURSOR type
Single 4-byte FLOAT type, supports 6 precisions
TimeStamp Oracle TIMESTAMP type
TimeStampLTZ Oracle TIMESTAMP WITH LOCAL TIME ZONE type
TimeStampTZ Oracle TIMESTAMP WITH TIME ZONE type
Varchar2 Oracle VARCHAR2 type
XmlType Oracle XMLType type
Not Available in ODP.NET, Managed Driver


출처 : 오라클 공식홈(https://docs.oracle.com/database/121/ODPNT/OracleDbTypeEnumerationType.htm#ODPNT2286)

Posted by 5CFM
,