This appendix contains the following tables used to determine the correct parameter type mappings.
Table A-1, "Mapping of Oracle Native Data Type to .NET Framework Data Types"
Table A-2, "Mapping of .NET Framework Data Types to Oracle Native Data Types"
Table A-3, "Mapping of Oracle Native Data Type to ODP.NET Data Types"
Table A-4, "Mapping of ODP.NET Data Types to Oracle Native Data Types"
Mapping of Oracle Native Data Type to .NET Framework Data Types
Table A-1 lists the supported mapping of Oracle native data types to the .NET Framework Types.
Table A-1 Mapping of Oracle Native Data Type to .NET Framework Data Types
Oracle Native Data Type | .NET Framework Data Types |
---|---|
BFILE * |
Byte[] |
BINARY_DOUBLE |
Byte , Byte[] , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
BINARY_FLOAT |
Byte , Byte[] , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
BINARY_INTEGER |
Byte , Byte[] , Char , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
BLOB |
Byte[] |
BOOLEAN |
Not Supported |
CHAR |
Byte , Char , Char[] , DateTime , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
CLOB |
Byte , Char , Char[] , DateTime , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
DATE |
Byte[] , Char[] , String , DateTime |
FLOAT |
Byte , Byte[] , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
INTERVAL DAY TO SECOND |
Byte[] , Char , Char[] , String , TimeSpan |
INTERVAL YEAR TO MONTH |
Byte , Byte[] , Char , Char[] , int , Int16 , Int32 , Int64 , long , short , String |
LONG |
Byte , Char , Char[] , DateTime , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
LONG RAW |
Byte[] |
NCHAR |
Byte , Char , Char[] , DateTime , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
NCLOB |
Byte , Char , Char[] , DateTime , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
NUMBER |
Byte , Byte[] , Char , DateTime , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
NVARCHAR2 |
Byte , Char , Char[] , DateTime , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
PLS_INTEGER |
Byte , Byte[] , Char , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
RAW |
Byte[] |
REAL |
Byte , Byte[] , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
ROWID |
Char[] , String |
TIMESTAMP |
Byte[] , Char[] , String , DateTime |
TIMESTAMP WITH LOCAL TIME ZONE |
Byte[] , Char[] , String , DateTime |
TIMESTAMP WITH TIME ZONE |
Byte[] , Char[] , String , DateTime |
UROWID |
Char[] , String |
VARCHAR2 |
Byte , Char , Char[] , DateTime , Decimal , Double , float , int , Int16 , Int32 , Int64 , long , SByte , short , Single , String , uint , Uint16 , Uint32 , Uint64 , ulong , ushort |
XMLType |
Char[] , String |
Mapping of .NET Framework Data Types to Oracle Native Data Types
Table A-2 lists the supported mapping of .NET Framework Types to Oracle native data types.
Table A-2 Mapping of .NET Framework Data Types to Oracle Native Data Types
.NET Framework Data Types | Oracle Native Data Type |
---|---|
Byte |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
Byte[] |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , BLOB , DATE , FLOAT , INTERVAL YEAR TO MONTH , LONG RAW , NUMBER , PLS_INTEGER , RAW , REAL , TIMESTAMP , TIMESTAMP WITH LOCAL TIME ZONE , TIMESTAMP WITH TIME ZONE |
Char |
BINARY_INTEGER , CHAR , CLOB , INTERVAL DAY TO SECOND , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , VARCHAR2 , XMLType |
Char[] |
CHAR , CLOB , DATE , INTERVAL DAY TO SECOND , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NVARCHAR2 , ROWID , TIMESTAMP , TIMESTAMP WITH LOCAL TIME ZONE , TIMESTAMP WITH TIME ZONE , UROWID , VARCHAR2 , XMLType |
DateTime |
CHAR , CLOB , DATE , LONG , NCHAR , NCLOB , NVARCHAR2 , TIMESTAMP , TIMESTAMP WITH LOCAL TIME ZONE , TIMESTAMP WITH TIME ZONE , VARCHAR2 |
Decimal |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR ,CLOB , FLOAT , LONG , NCHAR , NCLOB , NVARCHAR2 , NUMBER , PLS_INTEGER , REAL , VARCHAR2 |
Double |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
float |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
int |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
Int16 |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
Int32 |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
Int64 |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
long |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
SByte |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
short |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
Single |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
String |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CHAR[] , CLOB , DATE , FLOAT , INTERVAL DAY TO SECOND , INTERVAL YEAR TO MONTH , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , ROWID , STRING , TIMESTAMP , TIMESTAMP WITH LOCAL TIME ZONE , TIMESTAMP WITH TIME ZONE , UROWID , VARCHAR2 , XMLTYPE |
TimeSpan |
INTERVAL DAY TO SECOND |
uint |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
Uint16 |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
Uint32 |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
Uint64 |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
ulong |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
ushort |
BINARY_DOUBLE , BINARY_FLOAT , BINARY_INTEGER , CHAR , CLOB , FLOAT , LONG , NCHAR , NCLOB , NUMBER , NVARCHAR2 , PLS_INTEGER , REAL , VARCHAR2 |
Mapping of Oracle Native Data Type to ODP.NET Data Types
Table A-3 lists the supported mapping of Oracle native data types to the ODP.NET Types.
Table A-3 Mapping of Oracle Native Data Type to ODP.NET Data Types
Oracle Native Data Type | ODP.NET Type |
---|---|
BFILE * |
OracleBFile |
BINARY_DOUBLE |
OracleDecimal
|
BINARY_FLOAT |
OracleDecimal
|
BINARY_INTEGER |
OracleDecimal
|
BLOB |
OracleBinary
|
BOOLEAN |
Not Supported |
CHAR |
OracleString |
CLOB |
OracleClob
|
DATE |
OracleDate
|
FLOAT |
OracleDecimal
|
INTERVAL DAY TO SECOND |
OracleString
|
INTERVAL YEAR TO MONTH |
OracleIntervalYM
|
LONG |
OracleString |
LONG RAW |
OracleBinary |
NCHAR |
OracleString |
NCLOB |
OracleClob
|
NUMBER |
OracleDecimal
|
NVARCHAR2 |
OracleString |
PLS_INTEGER |
OracleDecimal
|
RAW |
OracleBinary |
REAL |
OracleDecimal
|
ROWID |
OracleString |
TIMESTAMP |
OracleDate
|
TIMESTAMP WITH LOCAL TIME ZONE |
OracleDate
|
TIMESTAMP WITH TIME ZONE |
OracleDate
|
UROWID |
OracleString |
VARCHAR2 |
OracleString |
XMLType |
OracleClob
|
Mapping of ODP.NET Data Types to Oracle Native Data Types
Table A-4 lists the supported mapping of the ODP.NET Types to the Oracle native data types.
Table A-4 Mapping of ODP.NET Data Types to Oracle Native Data Types
ODP.NET Type | Oracle Native Data Type |
---|---|
OracleBFile |
BFILE * |
OracleBinary |
BLOB
|
OracleBlob |
BLOB |
OracleClob |
CLOB
|
OracleDate |
DATE
|
OracleDecimal |
BINARY_DOUBLE
|
OracleIntervalDS |
INTERVAL DAY TO SECOND |
OracleIntervalYM |
INTERVAL YEAR TO MONTH |
OracleString |
BINARY_DOUBLE
|
OracleTimeStamp |
DATE
|
OracleTimeStampTZ |
DATE
|
OracleTimeStampLTZ |
DATE
|
OracleXmlType |
XMLType |
* BFILE Mapping to .NET Framework
An Oracle native BFILE
type parameter can be converted to a .NET Byte[]
. However, converting a Byte[]
to an Oracle native BFILE
type is not supported. This means BFILE
to .NET Byte[]
conversion can be done only if the BFILE
parameter type on the database side is an IN
parameter and the corresponding parameter on the .NET stored procedure is an IN
parameter of type Byte[]
. For a BFILE
INOUT
, or OUT
parameter or a RETURN
VALUE
, the corresponding .NET stored procedure parameters must be of type Oracle.DataAccess.Types.OracleBFile
. Otherwise, an exception is thrown.
PL\SQL Associative Array
PL\SQL Associative array is not supported.