Oracle 데이터 형식 매핑
다음 표에는 Oracle 데이터 형식과 OracleDataReader에 대한 해당 데이터 형식의 매핑이 나열되어 있습니다.
Oracle 데이터 형식 | OracleDataReader.GetValue에 의해 반환되는 .NET Framework 데이터 형식 | OracleDataReader.GetOracleValue에 의해 반환되는 OracleClient 데이터 형식 | 설명 |
---|---|---|---|
BFILE | Byte[] | OracleBFile | |
BLOB | Byte[] | OracleLob | |
CHAR | String | OracleString | |
CLOB | String | OracleLob | |
DATE | DateTime | OracleDateTime | |
FLOAT | 10진수 | OracleNumber | 이 데이터 형식은 NUMBER 데이터 형식의 별칭이며 OracleDataReader에서 부동 소수점 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
INTEGER | 10진수 | OracleNumber | 이 데이터 형식은 NUMBER(38) 데이터 형식의 별칭이며 OracleDataReader에서 정수 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
INTERVAL YEAR TO MONTH | Int32 | OracleMonthSpan | |
INTERVAL DAY TO SECOND | TimeSpan | OracleTimeSpan | |
LONG | String | OracleString | |
LONG RAW | Byte[] | OracleBinary | |
NCHAR | String | OracleString | |
NCLOB | String | OracleLob | |
NUMBER | 10진수 | OracleNumber | .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
NVARCHAR2 | String | OracleString | |
RAW | Byte[] | OracleBinary | |
REF CURSOR | Oracle REF CURSOR 데이터 형식은 OracleDataReader 개체에서 지원되지 않습니다. | ||
ROWID | String | OracleString | |
TIMESTAMP | DateTime | OracleDateTime | |
TIMESTAMP WITH LOCAL TIME ZONE | DateTime | OracleDateTime | |
TIMESTAMP WITH TIME ZONE | DateTime | OracleDateTime | |
UNSIGNED INTEGER | 숫자 | OracleNumber | 이 데이터 형식은 NUMBER(38) 데이터 형식의 별칭이며 OracleDataReader에서 부호 없는 정수 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
VARCHAR2 | String | OracleString |
다음 표에는 매개 변수로 바인딩할 때 사용하는 Oracle 데이터 형식과 .NET Framework 데이터 형식(System.Data.DbType 및 OracleType)이 나열되어 있습니다.
Oracle 데이터 형식 | 매개 변수로 바인딩하는 DbType 열거형 | 매개 변수로 바인딩하는 OracleType 열거형 | 설명 |
---|---|---|---|
BFILE | BFile | Oracle에서만 BFILE을 BFILE 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 byte[] 또는 OracleBinary 같은 BFILE이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다. | |
BLOB | Blob | Oracle에서만 BLOB을 BLOB 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 byte[] 또는 OracleBinary 같은 BLOB이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다. | |
CHAR | AnsiStringFixedLength | Char | |
CLOB | Clob | Oracle에서만 CLOB을 CLOB 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 System.String 또는 OracleString 같은 CLOB이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다. | |
DATE | DateTime | DateTime | |
FLOAT | Single, Double, Decimal | Float, Double, Number | Size는 System.Data.DBType 및 OracleType을 결정합니다. |
INTEGER | SByte, Int16, Int32, Int64, Decimal | SByte, Int16, Int32, Number | Size는 System.Data.DBType 및 OracleType을 결정합니다. |
INTERVAL YEAR TO MONTH | Int32 | IntervalYearToMonth | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
INTERVAL DAY TO SECOND | Object | IntervalDayToSecond | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
LONG | AnsiString | LongVarChar | |
LONG RAW | 이진 | LongRaw | |
NCHAR | StringFixedLength | NChar | |
NCLOB | NClob | Oracle에서만 NCLOB을 NCLOB 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 System.String 또는 OracleString 같은 NCLOB이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다. | |
NUMBER | VarNumeric | 숫자 | |
NVARCHAR2 | String | NVarChar | |
RAW | 이진 | 원시 | |
REF CURSOR | Cursor | 자세한 내용은 Oracle REF CURSOR를 참조하세요. | |
ROWID | AnsiString | Rowid | |
TIMESTAMP | DateTime | Timestamp | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
TIMESTAMP WITH LOCAL TIME ZONE | DateTime | TimestampLocal | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
TIMESTAMP WITH TIME ZONE | DateTime | TimestampWithTz | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
UNSIGNED INTEGER | Byte, UInt16, UInt32, UInt64, Decimal | Byte, UInt16, Uint32, Number | Size는 System.Data.DBType 및 OracleType을 결정합니다. |
VARCHAR2 | AnsiString | VarChar |
OracleParameter 개체의 Value 속성에서 사용되는 InputOutput, Output 및 ReturnValue ParameterDirection 값은 입력 값이 Oracle 데이터 형식(예: OracleNumber 또는 OracleString)이 아닌 경우 .NET Framework 데이터 형식입니다. 이는 REF CURSOR, BFILE 또는 LOB 데이터 형식에는 적용되지 않습니다.