Mapping dei tipi di dati Oracle

Nella tabella seguente sono elencati i tipi di dati Oracle e i relativi mapping al tipo OracleDataReader.

Tipo di dati Oracle Tipo di dati .NET Framework restituito da OracleDataReader.GetValue Tipo di dati OracleClient restituito da OracleDataReader.GetOracleValue Osservazioni:
BFILE Byte[] OracleBFile
BLOB Byte[] OracleLob
CHAR Stringa OracleString
CLOB Stringa OracleLob
DATE DateTime OracleDateTime
FLOAT Decimale OracleNumber Questo tipo di dati è un alias del tipo di dati NUMBER ed è progettato in modo tale che OracleDataReader restituisca un oggetto System.Decimal o OracleNumber anziché un valore a virgola mobile. L'utilizzo del tipo di dati .NET Framework può provocare un overflow.
INTEGER Decimale OracleNumber Questo tipo di dati è un alias del tipo di dati NUMBER(38) ed è progettato in modo tale che OracleDataReader restituisca un valore System.Decimal o OracleNumber anziché un valore intero. L'utilizzo del tipo di dati .NET Framework può provocare un overflow.
INTERVAL YEAR TO MONTH Int32 OracleMonthSpan
INTERVAL DAY TO SECOND TimeSpan OracleTimeSpan
LONG Stringa OracleString
LONG RAW Byte[] OracleBinary
NCHAR Stringa OracleString
NCLOB Stringa OracleLob
NUMBER Decimale OracleNumber L'utilizzo del tipo di dati .NET Framework può provocare un overflow.
NVARCHAR2 Stringa OracleString
RAW Byte[] OracleBinary
REF CURSOR The Oracle REF CURSOR data type is not supported by the OracleDataReader object.
ROWID Stringa OracleString
TIMESTAMP DateTime OracleDateTime
TIMESTAMP WITH LOCAL TIME ZONE DateTime OracleDateTime
TIMESTAMP WITH TIME ZONE DateTime OracleDateTime
UNSIGNED INTEGER Numero OracleNumber Questo tipo di dati è un alias del tipo di dati NUMBER(38) ed è progettato in modo tale che OracleDataReader restituisca un oggetto System.Decimal o OracleNumber anziché un valore Unsigned Integer. L'utilizzo del tipo di dati .NET Framework può provocare un overflow.
VARCHAR2 Stringa OracleString

Nella seguente tabella sono elencati i tipi di data Oracle e .NET Framework (System.Data.DbType e OracleType) da usare durante l'associazione come parametri.

Tipo di dati Oracle Enumerazione DbType da associare come parametro Enumerazione OracleType da associare come parametro Osservazioni:
BFILE BFile Oracle consente di associare solo un tipo di dati BFILE come parametro BFILE. Il provider di dati .NET per Oracle non ne crea automaticamente uno se si tenta di associare un valore diverso da BFILE, ad esempio byte[] o OracleBinary.
BLOB BLOB Oracle consente di associare solo un tipo di dati BLOB come parametro BLOB. Il provider di dati .NET per Oracle non ne crea automaticamente uno se si tenta di associare un valore diverso da BLOB, ad esempio byte[] o OracleBinary.
CHAR AnsiStringFixedLength Char
CLOB Clob Oracle consente di associare solo un tipo di dati CLOB come parametro CLOB. Il provider di dati .NET per Oracle non ne crea automaticamente uno se si tenta di associare un valore diverso da CLOB, ad esempio System.String o OracleString.
DATE DateTime DateTime
FLOAT Single, Double, Decimal Float, Double, Number Size determina System.Data.DBType e OracleType.
INTEGER SByte, Int16, Int32, Int64, Decimal SByte, Int16, Int32, Number Size determina System.Data.DBType e OracleType.
INTERVAL YEAR TO MONTH Int32 IntervalYearToMonth OracleType è disponibile solo se si usa il software Oracle 9i sia per il client che per il server.
INTERVAL DAY TO SECOND Object IntervalDayToSecond OracleType è disponibile solo se si usa il software Oracle 9i sia per il client che per il server.
LONG AnsiString LongVarChar
LONG RAW Binario LongRaw
NCHAR StringFixedLength NChar
NCLOB NClob Oracle consente di associare solo un tipo di dati NCLOB come parametro NCLOB. Il provider di dati .NET per Oracle non ne crea automaticamente uno se si tenta di associare un valore diverso da NCLOB, ad esempio System.String o OracleString.
NUMBER VarNumeric Numero
NVARCHAR2 Stringa NVarChar
RAW Binario Raw
REF CURSOR Cursore Per altre informazioni, vedere Oracle REF CURSORs.
ROWID AnsiString Rowid
TIMESTAMP DateTime Timestamp: OracleType è disponibile solo se si usa il software Oracle 9i sia per il client che per il server.
TIMESTAMP WITH LOCAL TIME ZONE DateTime TimestampLocal OracleType è disponibile solo se si usa il software Oracle 9i sia per il client che per il server.
TIMESTAMP WITH TIME ZONE DateTime TimestampWithTz OracleType è disponibile solo se si usa il software Oracle 9i sia per il client che per il server.
UNSIGNED INTEGER Byte, UInt16, UInt32, UInt64, Decimal Byte, UInt16, Uint32, Number Size determina System.Data.DBType e OracleType.
VARCHAR2 AnsiString VarChar

I valori ParameterDirection di InputOutput, Output e ReturnValue usati dalla proprietà Value dell'oggetto OracleParameter sono tipi di dati .NET Framework, a meno che il valore di input non sia un tipo di dati Oracle, ad esempio OracleNumber o OracleString. Questo non si applica ai tipi di dati REF CURSOR, BFILE o LOB.

Vedi anche