Сопоставления типов данных Oracle
В следующей таблице представлены типы данных Oracle и их сопоставления объекту OracleDataReader.
Тип данных Oracle | Тип данных .NET Framework, возвращаемый OracleDataReader.GetValue | Тип данных OracleClient, возвращаемый OracleDataReader.GetOracleValue | Замечания |
---|---|---|---|
BFILE | Байт[] | OracleBFile | |
КАПЛЯ | Байт[] | OracleLob | |
CHAR | String | OracleString | |
CLOB | String | OracleLob | |
DATE | DateTime | OracleDateTime | |
FLOAT | Десятичное число | OracleNumber | Этот тип данных является псевдонимом для типа данных NUMBER и разработан таким образом, чтобы OracleDataReader возвращать значение System.Decimal или OracleNumber вместо значения с плавающей запятой. Использование типа данных .NET Framework может вызвать переполнение. |
INTEGER | Десятичное число | OracleNumber | Этот тип данных является псевдонимом для типа данных NUMBER(38) и разработан таким образом, чтобы OracleDataReader возвращать system.Decimal или OracleNumber вместо целочисленного значения. Использование типа данных .NET Framework может вызвать переполнение. |
ИНТЕРВАЛ ГОДА К МЕСЯЦУ | Int32 | OracleMonthSpan | |
ИНТЕРВАЛ ДНЯ ДО СЕКУНДЫ | TimeSpan | OracleTimeSpan | |
LONG | String | OracleString | |
LONG RAW | Байт[] | OracleBinary | |
NCHAR | String | OracleString | |
NCLOB | String | OracleLob | |
ЧИСЛО | Десятичное число | OracleNumber | Использование типа данных .NET Framework может вызвать переполнение. |
NVARCHAR2 | String | OracleString | |
СЫРОЙ | Байт[] | OracleBinary | |
КУРСОР REF | Тип данных Oracle REF CURSOR не поддерживается OracleDataReader объектом. | ||
ROWID | String | OracleString | |
TIMESTAMP | DateTime | OracleDateTime | |
МЕТКА ВРЕМЕНИ С ЛОКАЛЬНЫМ ЧАСОВОМ ПОЯСОМ | DateTime | OracleDateTime | |
МЕТКА ВРЕМЕНИ С ЧАСОВЫМИ ПОЯСАМИ | DateTime | OracleDateTime | |
ЦЕЛОЕ ЧИСЛО БЕЗ ЗНАКА | Число | 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. | |
КАПЛЯ | Большой двоичный объект | 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 | Одинарный, двойной, десятичный | Float, Double, Number | Sizeопределяет System.Data.DBType и OracleType. |
INTEGER | SByte, Int16, Int32, Int64, Decimal | SByte, Int16, Int32, Number | Sizeопределяет System.Data.DBType и OracleType. |
ИНТЕРВАЛ ГОДА К МЕСЯЦУ | Int32 | IntervalYearToMonth | OracleType доступен только при использование как клиентского, так и серверного программного обеспечения Oracle 9i. |
ИНТЕРВАЛ ДНЯ ДО СЕКУНДЫ | Объект | 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. | |
ЧИСЛО | VarNumeric | Число | |
NVARCHAR2 | String | NVarChar | |
СЫРОЙ | Binary | Raw | |
КУРСОР REF | Курсор | Дополнительные сведения см. в статье Oracle REF CURSORs. | |
ROWID | AnsiString | Rowid | |
TIMESTAMP | DateTime | Timestamp | 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 и ReturnValue ParameterDirection, используемые Value свойством OracleParameter объекта, являются платформа .NET Framework типами данных, если входное значение не является типом данных Oracle (например, OracleNumber илиOracleString). Это не относится к типам данных REF CURSOR, BFILE или LOB .