Oracle® Database Extensions for .NET
Developer's Guide 10g Release 2 (10.2) Part Number B14306-01 |
|
|
View PDF |
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.