Mapeamentos de tipo de dados Oracle
A tabela a seguir lista os tipos de dados Oracle e seus mapeamentos para o OracleDataReader.
Tipo de dados de Oracle | Tipo de dados do .NET Framework retornado por OracleDataReader.GetValue | Tipo de dados OracleClient retornado por OracleDataReader.GetOracleValue | Comentários |
---|---|---|---|
BFILE | Byte[] | OracleBFile | |
BLOB | Byte[] | OracleLob | |
CHAR | Cadeia de caracteres | OracleString | |
CLOB | Cadeia de caracteres | OracleLob | |
DATE | DateTime | OracleDateTime | |
FLOAT | Decimal | OracleNumber | Esse tipo de dados é um alias do tipo de dados NUMBER e foi projetado de modo que o OracleDataReaderretorne um System.Decimal ou OracleNumber em vez de um valor de ponto flutuante. O uso do tipo de dados do .NET Framework pode causar um estouro. |
INTEGER | Decimal | OracleNumber | Esse tipo de dados é um alias do tipo de dados NUMBER(38) e foi projetado de modo que o OracleDataReader retorne um System.Decimal ou OracleNumber em vez de um valor inteiro. O uso do tipo de dados do .NET Framework pode causar um estouro. |
INTERVAL YEAR TO MONTH | Int32 | OracleMonthSpan | |
INTERVAL DAY TO SECOND | TimeSpan | OracleTimeSpan | |
LONG | Cadeia de caracteres | OracleString | |
LONG RAW | Byte[] | OracleBinary | |
NCHAR | Cadeia de caracteres | OracleString | |
NCLOB | Cadeia de caracteres | OracleLob | |
NUMBER | Decimal | OracleNumber | O uso do tipo de dados do .NET Framework pode causar um estouro. |
NVARCHAR2 | Cadeia de caracteres | OracleString | |
RAW | Byte[] | OracleBinary | |
REF CURSOR | Não há suporte para o tipo de dados REF CURSOR do Oracle no objeto OracleDataReader. | ||
ROWID | Cadeia de caracteres | OracleString | |
TIMESTAMP | DateTime | OracleDateTime | |
TIMESTAMP WITH LOCAL TIME ZONE | DateTime | OracleDateTime | |
TIMESTAMP WITH TIME ZONE | DateTime | OracleDateTime | |
UNSIGNED INTEGER | Número | OracleNumber | Este tipo de dados é um alias do tipo de dados NUMBER(38) e foi projetado de modo que o OracleDataReader retorne um System.Decimal ou OracleNumber em vez de um valor inteiro sem sinal. O uso do tipo de dados do .NET Framework pode causar um estouro. |
VARCHAR2 | Cadeia de caracteres | OracleString |
A tabela a seguir lista os tipos de dados do Oracle e os tipos de dados do .NET Framework (System.Data.DbType e OracleType) a serem usados ao associá-los como parâmetros.
Tipo de dados de Oracle | Enumeração DbType a ser associada como um parâmetro | Enumeração OracleType a ser associada como um parâmetro | Comentários |
---|---|---|---|
BFILE | BFile | O Oracle só permite associar um BFILE como um parâmetro BFILE. O Provedor de Dados .NET para Oracle não construirá um automaticamente se você tentar associar um valor não BFILE, como byte[] ou OracleBinary. | |
BLOB | Blob | O Oracle só permite associar um BLOB como um parâmetro BLOB. O Provedor de Dados .NET para Oracle não construirá um automaticamente se você tentar associar um valor não BLOB, como byte[] ou OracleBinary. | |
CHAR | AnsiStringFixedLength | Char | |
CLOB | Clob | O Oracle só permite associar um CLOB como um parâmetro CLOB. O Provedor de Dados .NET para Oracle não construirá um automaticamente se você tentar associar um valor não CLOB, como System.String ou OracleString. | |
DATE | DateTime | DateTime | |
FLOAT | Single, Double, Decimal | Float, Double, Number | Size determina o System.Data.DBType e OracleType. |
INTEGER | SByte, Int16, Int32, Int64, Decimal | SByte, Int16, Int32, Number | Size determina o System.Data.DBType e OracleType. |
INTERVAL YEAR TO MONTH | Int32 | IntervalYearToMonth | OracleType só está disponível com o uso do software cliente e servidor Oracle 9i. |
INTERVAL DAY TO SECOND | Objeto | IntervalDayToSecond | OracleType só está disponível com o uso do software cliente e servidor Oracle 9i. |
LONG | AnsiString | LongVarChar | |
LONG RAW | Binary | LongRaw | |
NCHAR | StringFixedLength | NChar | |
NCLOB | NClob | O Oracle só permite associar um NCLOB como um parâmetro NCLOB. O Provedor de Dados .NET para Oracle não construirá um automaticamente se você tentar associar um valor não NCLOB, como System.String ou OracleString. | |
NUMBER | VarNumeric | Número | |
NVARCHAR2 | Cadeia de caracteres | NVarChar | |
RAW | Binary | Bruta | |
REF CURSOR | Cursor | Para obter mais informações, confira REF CURSORs do Oracle. | |
ROWID | AnsiString | Rowid | |
TIMESTAMP | DateTime | Timestamp | OracleType só está disponível com o uso do software cliente e servidor Oracle 9i. |
TIMESTAMP WITH LOCAL TIME ZONE | DateTime | TimestampLocal | OracleType só está disponível com o uso do software cliente e servidor Oracle 9i. |
TIMESTAMP WITH TIME ZONE | DateTime | TimestampWithTz | OracleType só está disponível com o uso do software cliente e servidor Oracle 9i. |
UNSIGNED INTEGER | Byte, UInt16, UInt32, UInt64, Decimal | Byte, UInt16, Uint32, Number | Size determina o System.Data.DBType e OracleType. |
VARCHAR2 | AnsiString | VarChar |
Os valores InputOutput, Outpute ReturnValue ParameterDirection usados pela propriedade Value do objeto OracleParameter são tipos de dados do .NET Framework, a menos que o valor de entrada seja um tipo de dados Oracle (por exemplo, OracleNumber ou OracleString). Isso não se aplica aos tipos de dados REF CURSOR, BFILE ou LOB.