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

Decimal

OracleNumber

이 데이터 형식은 NUMBER 데이터 형식의 별칭이며 OracleDataReader에서 부동 소수점 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다.

INTEGER

Decimal

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

Decimal

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

Number

OracleNumber

이 데이터 형식은 NUMBER(38) 데이터 형식의 별칭이며 OracleDataReader에서 부호 없는 정수 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다.

VARCHAR2

String

OracleString

 

다음 표에는 매개 변수로 바인딩할 때 사용하는 Oracle 데이터 형식과 .NET Framework 데이터 형식(System.Data.DbTypeOracleType)이 나열되어 있습니다.

Oracle 데이터 형식

매개 변수로 바인딩하는 DbType 열거형

매개 변수로 바인딩하는 OracleType 열거형

주의

BFILE

 

BFile

Oracle에서만 BFILEBFILE 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 byte[] 또는 OracleBinary 같은 BFILE이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다.

BLOB

 

Blob

Oracle에서만 BLOBBLOB 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 byte[] 또는 OracleBinary와 같은 BLOB이 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다.

CHAR

AnsiStringFixedLength

Char

 

CLOB

 

Clob

Oracle에서만 CLOBCLOB 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 System.String 또는 OracleString과 같은 CLOB가 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다.

DATE

DateTime

DateTime

 

FLOAT

Single, Double, Decimal

Float, Double, Number

SizeSystem.Data.DBTypeOracleType을 결정합니다.

INTEGER

SByte, Int16, Int32, Int64, Decimal

SByte, Int16, Int32, Number

SizeSystem.Data.DBTypeOracleType을 결정합니다.

INTERVAL YEAR TO MONTH

Int32

IntervalYearToMonth

OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다.

INTERVAL DAY TO SECOND

Object

IntervalDayToSecond

OracleType은 Oracle 9i 클라이언트 및 서버 소프트웨어를 모두 사용할 때만 사용할 수 있습니다.

LONG

AnsiString

LongVarChar

 

LONG RAW

Binary

LongRaw

 

NCHAR

StringFixedLength

NChar

 

NCLOB

 

NClob

Oracle에서만 NCLOBNCLOB 매개 변수로 바인딩할 수 있습니다. .NET Data Provider for Oracle에서는 System.String 또는 OracleString과 같은 NCLOB가 아닌 값을 바인딩하려는 경우 이를 자동으로 생성하지 않습니다.

NUMBER

VarNumeric

Number

 

NVARCHAR2

String

NVarChar

 

RAW

Binary

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

SizeSystem.Data.DBTypeOracleType을 결정합니다.

VARCHAR2

AnsiString

VarChar

 

OracleParameter 개체의 Value 속성에서 사용되는 InputOutput, OutputReturnValue ParameterDirection 값은 입력 값이 OracleNumber 또는 OracleString과 같은 Oracle 데이터 형식이 아닌 경우 .NET Framework 데이터 형식입니다. 이는 REF CURSOR, BFILE 또는 LOB 데이터 형식에는 적용되지 않습니다.

참고 항목

기타 리소스

Oracle 및 ADO.NET