Asignaciones de tipos de datos de Oracle
En la siguiente tabla se enumeran los tipos de datos de Oracle y sus asignaciones al OracleDataReader.
Tipo de datos de Oracle | Tipo de datos de .NET Framework devuelto por OracleDataReader.GetValue | Tipo de datos OracleClient devuelto por OracleDataReader.GetOracleValue | Comentarios |
---|---|---|---|
BFILE | Byte[] | OracleBFile | |
BLOB | Byte[] | OracleLob | |
CHAR | String | OracleString | |
CLOB | String | OracleLob | |
DATE | DateTime | OracleDateTime | |
FLOAT | Decimal | OracleNumber | Este tipo de datos es un alias del tipo de datos NUMBER, y se ha diseñado para que OracleDataReader devuelva System.Decimal o OracleNumber en lugar de un valor de punto flotante. El uso del tipo de datos de .NET Framework puede ocasionar un desbordamiento. |
INTEGER | Decimal | OracleNumber | Este tipo de datos es un alias del tipo de datos NUMBER (38), y se ha diseñado para que OracleDataReader devuelva System.Decimal o OracleNumber en lugar de un valor entero. El uso del tipo de datos de .NET Framework puede ocasionar un desbordamiento. |
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 | El uso del tipo de datos de .NET Framework puede ocasionar un desbordamiento. |
NVARCHAR2 | String | OracleString | |
RAW | Byte[] | OracleBinary | |
REF CURSOR | El objeto OracleDataReader no admite el tipo de datos REF CURSOR de Oracle. | ||
ROWID | String | OracleString | |
TIMESTAMP | DateTime | OracleDateTime | |
TIMESTAMP WITH LOCAL TIME ZONE | DateTime | OracleDateTime | |
TIMESTAMP WITH TIME ZONE | DateTime | OracleDateTime | |
UNSIGNED INTEGER | Number | OracleNumber | Este tipo de datos es un alias del tipo de datos NUMBER (38), y se ha diseñado para que OracleDataReader devuelva System.Decimal o OracleNumber en lugar de un valor entero sin signo. El uso del tipo de datos de .NET Framework puede ocasionar un desbordamiento. |
VARCHAR2 | String | OracleString |
En la siguiente tabla se enumeran los tipos de datos de Oracle y los tipos de datos de .NET Framework (System.Data.DbType y OracleType) que se deben utilizar cuando se enlacen como parámetros.
Tipo de datos de Oracle | Enumeración DbType para enlazar como un parámetro | Enumeración OracleType para enlazar como un parámetro | Comentarios |
---|---|---|---|
BFILE | BFile | Oracle sólo permite enlazar un BFILE como un parámetro BFILE. El proveedor de datos de .NET para Oracle no construye uno automáticamente si intenta enlazar un valor que no es BFILE, como byte[] o OracleBinary. | |
BLOB | Blob | Oracle solo permite enlazar un BLOB como un parámetro BLOB. El proveedor de datos .NET para Oracle no construye uno automáticamente si intenta enlazar un valor que no es BLOB, como byte[] o OracleBinary. | |
CHAR | AnsiStringFixedLength | Char | |
CLOB | Clob | Oracle solo permite enlazar un CLOB como un parámetro CLOB. El proveedor de datos .NET para Oracle no construye uno automáticamente si intenta enlazar un valor que no es CLOB, como System.String o OracleString. | |
DATE | DateTime | DateTime | |
FLOAT | Single, Double, Decimal | Float, Double, Number | Size determina System.Data.DBType y OracleType. |
INTEGER | SByte, Int16, Int32, Int64, Decimal | SByte, Int16, Int32, Number | Size determina System.Data.DBType y OracleType. |
INTERVAL YEAR TO MONTH | Int32 | IntervalYearToMonth | OracleType solo está disponible cuando se usa el software de cliente y servidor de Oracle 9i. |
INTERVAL DAY TO SECOND | Object | IntervalDayToSecond | OracleType solo está disponible cuando se usa el software de cliente y servidor de Oracle 9i. |
LONG | AnsiString | LongVarChar | |
LONG RAW | Binario | LongRaw | |
NCHAR | StringFixedLength | NChar | |
NCLOB | NClob | Oracle solo permite enlazar un NCLOB como un parámetro NCLOB. El proveedor de datos .NET para Oracle con construye uno automáticamente si intenta enlazar un valor que no es NCLOB, como System.String o OracleString. | |
NUMBER | VarNumeric | Number | |
NVARCHAR2 | String | NVarChar | |
RAW | Binario | Sin formato | |
REF CURSOR | Cursor | Para más información, consulte los parámetros de REF CURSOR de Oracle. | |
ROWID | AnsiString | Rowid | |
TIMESTAMP | DateTime | Timestamp | OracleType solo está disponible cuando se usa el software de cliente y servidor de Oracle 9i. |
TIMESTAMP WITH LOCAL TIME ZONE | DateTime | TimestampLocal | OracleType solo está disponible cuando se usa el software de cliente y servidor de Oracle 9i. |
TIMESTAMP WITH TIME ZONE | DateTime | TimestampWithTz | OracleType solo está disponible cuando se usa el software de cliente y servidor de Oracle 9i. |
UNSIGNED INTEGER | Byte, UInt16, UInt32, UInt64, Decimal | Byte, UInt16, Uint32, Number | Size determina System.Data.DBType y OracleType. |
VARCHAR2 | AnsiString | VarChar |
Los valores InputOutput, Output y ReturnValue ParameterDirection utilizados por la propiedad Value del objeto OracleParameter son tipos de datos de .NET Framework, a menos que el valor de entrada sea un tipo de dato de Oracle (por ejemplo, OracleNumber o OracleString). Esto no se aplica a los tipos de datos REF CURSOR, BFILE o LOB.