Oracle 데이터 형식 매핑
업데이트: November 2007
다음 표에는 Oracle 데이터 형식과 OracleDataReader에 대한 해당 데이터 형식의 매핑이 나열되어 있습니다.
Oracle 데이터 형식 |
OracleDataReader.GetValue에 의해 반환되는 .NET Framework 데이터 형식 |
OracleDataReader.GetOracleValue에 의해 반환되는 OracleClient 데이터 형식 |
주의 |
---|---|---|---|
BFILE |
Byte[] |
|
|
BLOB |
Byte[] |
|
|
CHAR |
String |
|
|
CLOB |
String |
|
|
DATE |
DateTime |
|
|
FLOAT |
Decimal |
이 데이터 형식은 NUMBER 데이터 형식의 별칭이며 OracleDataReader에서 부동 소수점 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
|
INTEGER |
Decimal |
이 데이터 형식은 NUMBER(38) 데이터 형식의 별칭이며 OracleDataReader에서 정수 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
|
INTERVAL YEAR TO MONTH |
Int32 |
|
|
INTERVAL DAY TO SECOND |
TimeSpan |
|
|
LONG |
String |
|
|
LONG RAW |
Byte[] |
|
|
NCHAR |
String |
|
|
NCLOB |
String |
|
|
NUMBER |
Decimal |
.NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
|
NVARCHAR2 |
String |
|
|
RAW |
Byte[] |
|
|
REF CURSOR |
|
|
Oracle REF CURSOR 데이터 형식은 OracleDataReader 개체에서 지원되지 않습니다. |
ROWID |
String |
|
|
TIMESTAMP |
DateTime |
|
|
TIMESTAMP WITH LOCAL TIME ZONE |
DateTime |
|
|
TIMESTAMP WITH TIME ZONE |
DateTime |
|
|
UNSIGNED INTEGER |
Number |
이 데이터 형식은 NUMBER(38) 데이터 형식의 별칭이며 OracleDataReader에서 부호 없는 정수 값 대신 System.Decimal 또는 OracleNumber를 반환하도록 디자인되었습니다. .NET Framework 데이터 형식을 사용하면 오버플로가 발생할 수 있습니다. |
|
VARCHAR2 |
String |
|
다음 표에는 매개 변수로 바인딩할 때 사용하는 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 |
Binary |
LongRaw |
|
NCHAR |
StringFixedLength |
NChar |
|
NCLOB |
|
NClob |
Oracle에서만 NCLOB를 NCLOB 매개 변수로 바인딩할 수 있습니다. .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 |
Size는 System.Data.DBType 및 OracleType을 결정합니다. |
VARCHAR2 |
AnsiString |
VarChar |
|
OracleParameter 개체의 Value 속성에서 사용되는 InputOutput, Output 및 ReturnValueParameterDirection 값은 입력 값이 OracleNumber 또는 OracleString 같은 Oracle 데이터 형식이 아닌 경우 .NET Framework 데이터 형식입니다. 이는 REF CURSOR, BFILE 또는 LOB 데이터 형식에는 적용되지 않습니다.