Сопоставления типов данных Oracle

В следующей таблице представлены типы данных Oracle и их сопоставления объекту OracleDataReader.

Тип данных Oracle

Тип данных .NET Framework, возвращаемый OracleDataReader.GetValue

Тип данных OracleClient, возвращаемый OracleDataReader.GetOracleValue

Примечания

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.DbType и OracleType), которые используются при привязке их как параметров.

Тип данных Oracle

Перечисление DbType, которое привязывается как параметр

Перечисление OracleType, которое привязывается как параметр

Примечания

BFILE

 

BFile

Oracle допускает привязку только BFILE как параметр BFILE. Поставщик данных .NET для Oracle автоматически не конструирует параметр при попытке привязать значение не-BFILE, например byte[] или OracleBinary.

BLOB

 

Blob

Oracle допускает привязку только BLOB как параметр BLOB. Поставщик данных .NET для Oracle автоматически не конструирует параметр при попытке привязать значение, отличное от BLOB, например byte[] или OracleBinary.

CHAR

AnsiStringFixedLength

Char

 

CLOB

 

Clob

Oracle допускает привязку только CLOB в качестве параметра CLOB. Поставщик данных .NET для Oracle автоматически не конструирует параметр при попытке привязать значение, отличное от CLOB, например System.String или OracleString.

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 для Oracle автоматически не конструирует параметр при попытке привязать значение, отличное от NCLOB, например System.String или OracleString.

NUMBER

VarNumeric

Number

 

NVARCHAR2

String

NVarChar

 

RAW

Binary

Raw

 

REF CURSOR

 

Cursor

Дополнительные сведения см. в разделе Курсоры REF CURSOR в Oracle.

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

 

Значения InputOutput, Output и ReturnValue ParameterDirection, используемые свойством Value объекта OracleParameter, являются типами данных .NET Framework, если входное значение является типом данных Oracle (например, OracleNumber или OracleString). Это не применяется к типам данных REF CURSOR, BFILE или LOB.

См. также

Другие ресурсы

Oracle и ADO.NET