다음 표에는 Oracle 데이터 형식과 OracleDataReader에 대한 해당 데이터 형식의 매핑이 나열되어 있습니다.
Oracle 데이터 형식 | OracleDataReader.GetValue에 의해 반환되는 .NET Framework 데이터 형식 | OracleDataReader.GetOracleValue에 의해 반환되는 OracleClient 데이터 형식 | 설명 |
---|---|---|---|
BFILE | 바이트[] | OracleBFile | |
BLOB | 바이트[] | OracleLob | |
CHAR(CHAR) | 문자열 | OracleString | |
CLOB | 문자열 | OracleLob | |
날짜 | 날짜/시간 | OracleDateTime | |
플로트 | 10진수 | OracleNumber | 이 데이터 형식은 NUMBER 데이터 형식의 별칭이며 OracleDataReader에서 부동 소수점 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
정수 | 10진수 | OracleNumber | 이 데이터 형식은 NUMBER(38) 데이터 형식의 별칭이며 OracleDataReader에서 정수 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
연도에서 개월로의 간격 | int32 | OracleMonthSpan | |
간격 일에서 초로 | TimeSpan | OracleTimeSpan | |
오래 | 문자열 | OracleString | |
LONG RAW | 바이트[] | OracleBinary | |
NCHAR | 문자열 | OracleString | |
NCLOB | 문자열 | OracleLob | |
수 | 10진수 | OracleNumber | .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
NVARCHAR2 | 문자열 | OracleString | |
RAW | 바이트[] | OracleBinary | |
REF 커서 | Oracle REF CURSOR 데이터 형식은 OracleDataReader 개체에서 지원되지 않습니다. | ||
ROWID | 문자열 | OracleString | |
타임 스탬프 | 날짜/시간 | OracleDateTime | |
지역 시간대를 사용한 타임스탬프 | 날짜/시간 | OracleDateTime | |
표준 시간대가 있는 타임스탬프 | 날짜/시간 | OracleDateTime | |
부호 없는 정수 | 숫자 | OracleNumber | 이 데이터 형식은 NUMBER(38) 데이터 형식의 별칭이며 OracleDataReader에서 부호 없는 정수 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
VARCHAR2 | 문자열 | OracleString |
다음 표에는 매개 변수로 바인딩할 때 사용하는 Oracle 데이터 형식과 .NET Framework 데이터 형식(System.Data.DbType 및 OracleType)이 나열되어 있습니다.
Oracle 데이터 형식 | 매개 변수로 바인딩하는 DbType 열거형 | 매개 변수로 바인딩하는 OracleType 열거형 | 설명 |
---|---|---|---|
BFILE | BFile | Oracle에서만 BFILE을 BFILE 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 byte[] 또는 같은 OracleBinary이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다. | |
BLOB | 블롭 | Oracle에서만 BLOB을 BLOB 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 byte[] 또는 같은 OracleBinary이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다. | |
CHAR(CHAR) | AnsiStringFixedLength | Char(문자) | |
CLOB | Clob | Oracle에서만 CLOB을 CLOB 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 System.String 또는 같은 OracleString이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다. | |
날짜 | 날짜/시간 | 날짜/시간 | |
플로트 | 단일형, 이중형, 십진수형 | 부동 소수점, 더블, 숫자 | Size는 System.Data.DBType 및 OracleType을 결정합니다. |
정수 | SByte, Int16, Int32, Int64, Decimal | SByte, Int16, Int32, Number | Size는 System.Data.DBType 및 OracleType을 결정합니다. |
년도에서 월까지 구간 | int32 | IntervalYearToMonth | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
간격 일에서 초로 | 객체 | IntervalDayToSecond | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
오래 | AnsiString | LongVarChar | |
LONG RAW | 이진 | LongRaw | |
NCHAR | StringFixedLength | NChar | |
NCLOB | NClob | Oracle에서만 NCLOB을 NCLOB 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 System.String 또는 같은 OracleString이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다. | |
수 | VarNumeric | 숫자 | |
NVARCHAR2 | 문자열 | NVarChar | |
RAW | 이진 | 원시 | |
REF 커서 | 커서 | 자세한 내용은 Oracle REF CURSOR를 참조하세요. | |
ROWID | AnsiString | Rowid | |
타임 스탬프 | 날짜/시간 | 타임 스탬프 | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
지역 시간대를 사용한 타임스탬프 | 날짜/시간 | TimestampLocal | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
표준 시간대가 있는 타임스탬프 | 날짜/시간 | TimestampWithTz | OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다. |
부호 없는 정수 | Byte, UInt16, UInt32, UInt64, Decimal | 바이트, UInt16, Uint32, Number | Size는 System.Data.DBType 및 OracleType을 결정합니다. |
VARCHAR2 | AnsiString | VarChar |
개체의 속성에서 사용되는 InputOutput, Output 및 ValueOracleParameter 값은 입력 값이 Oracle 데이터 형식(예: OracleNumber 또는 OracleString)이 아닌 경우 .NET Framework 데이터 형식입니다. 이는 REF CURSOR, BFILE 또는 LOB 데이터 형식에는 적용되지 않습니다.