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.

Consulte también