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 sia un tipo di dati Oracle (ad esempio OracleNumber o OracleString). Questo non si applica ai tipi di dati REF CURSOR, BFILE o LOB.