Поделиться через


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

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

Тип данных Oracle Тип данных .NET Framework, возвращаемый OracleDataReader.GetValue Тип данных OracleClient, возвращаемый OracleDataReader.GetOracleValue Замечания
BFILE Байт[] OracleBFile
КАПЛЯ Байт[] OracleLob
УГОЛЬ Струна OracleString
CLOB Струна OracleLob
ДАТА DateTime OracleDateTime
Флоат Десятичное число OracleNumber Этот тип данных является псевдонимом для типа NUMBER, и разработан для того, чтобы OracleDataReader возвращал System.Decimal или OracleNumber вместо значения с плавающей точкой. Использование типа данных .NET Framework может вызвать переполнение.
ЦЕЛОЕ ЧИСЛО Десятичное число OracleNumber Этот тип данных является псевдонимом для типа данных NUMBER(38) и разработан таким образом, чтобы OracleDataReader возвращать system.Decimal или OracleNumber вместо целочисленного значения. Использование типа данных .NET Framework может вызвать переполнение.
ИНТЕРВАЛ ГОДА К МЕСЯЦУ Инт32 OracleMonthSpan
ИНТЕРВАЛ ДНЯ ДО СЕКУНДЫ Интервал времени OracleTimeSpan
ДЛИННЫЙ Струна OracleString
LONG RAW Байт[] OracleBinary
NCHAR Струна OracleString
NCLOB Струна OracleLob
ЧИСЛО Десятичное число OracleNumber Использование типа данных .NET Framework может вызвать переполнение.
NVARCHAR2 Струна OracleString
СЫРОЙ Байт[] OracleBinary
КУРСОР REF Тип данных Oracle REF CURSOR не поддерживается OracleDataReader объектом.
ROWID Струна OracleString
TIMESTAMP DateTime OracleDateTime
МЕТКА ВРЕМЕНИ С ЛОКАЛЬНЫМ ЧАСОВОМ ПОЯСОМ DateTime OracleDateTime
МЕТКА ВРЕМЕНИ С ЧАСОВЫМИ ПОЯСАМИ DateTime 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 для Oracle не создает его автоматически, если вы пытаетесь привязать значение, отличное от BFILE , например byte[] или OracleBinary.
КАПЛЯ Большой двоичный объект Oracle разрешает привязывать BLOB только в качестве параметра BLOB. Поставщик данных .NET для Oracle не создаёт его автоматически, если вы пытаетесь привязать значение, не являющееся BLOB, например, byte[] или OracleBinary.
УГОЛЬ AnsiStringFixedLength Уголь
CLOB Clob Oracle разрешает привязывать только CLOB в качестве параметра CLOB. Поставщик данных .NET для Oracle не создается автоматически, если вы пытаетесь привязать значение, отличное от CLOB , например System.String или OracleString.
ДАТА DateTime DateTime
Флоат Одинарный, двойной, десятичный Число с плавающей точкой, Двойной, Число Size определяет System.Data.DBType и OracleType.
ЦЕЛОЕ ЧИСЛО SByte, Int16, Int32, Int64, Decimal SByte, Int16, Int32, Number Size определяет System.Data.DBType и OracleType.
ИНТЕРВАЛ ГОДА К МЕСЯЦУ Инт32 IntervalYearToMonth OracleType доступен только при использование как клиентского, так и серверного программного обеспечения Oracle 9i.
ИНТЕРВАЛ ДНЯ ДО СЕКУНДЫ Объект Интервал от дней до секунд OracleType доступен только при использование как клиентского, так и серверного программного обеспечения Oracle 9i.
ДЛИННЫЙ AnsiString LongVarChar
LONG RAW Бинарный LongRaw
NCHAR StringFixedLength NChar
NCLOB NClob Oracle разрешает привязывать только NCLOB в качестве параметра NCLOB. Поставщик данных .NET для Oracle не создает его автоматически, если вы пытаетесь привязать значение, отличное от NCLOB , например System.String или OracleString.
ЧИСЛО VarNumeric Число
NVARCHAR2 Струна NVarChar
СЫРОЙ Бинарный Сырой
КУРСОР REF Курсор Дополнительные сведения см. в статье Oracle REF CURSORs.
ROWID AnsiString Rowid
TIMESTAMP DateTime Метка времени OracleType доступен только при использование как клиентского, так и серверного программного обеспечения Oracle 9i.
МЕТКА ВРЕМЕНИ С ЛОКАЛЬНЫМ ЧАСОВОМ ПОЯСОМ DateTime TimestampLocal OracleType доступен только при использование как клиентского, так и серверного программного обеспечения Oracle 9i.
МЕТКА ВРЕМЕНИ С ЧАСОВЫМИ ПОЯСАМИ DateTime TimestampWithTz OracleType доступен только при использование как клиентского, так и серверного программного обеспечения Oracle 9i.
ЦЕЛОЕ ЧИСЛО БЕЗ ЗНАКА Байт, UInt16, UInt32, UInt64, Decimal Байт, UInt16, Uint32, Number Size определяет System.Data.DBType и OracleType.
VARCHAR2 AnsiString VarChar

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

См. также