ヘッダーをスキップ
Oracle Database Extensions for .NET開発者ガイド
11g リリース1(11.1)
E05792-01
  目次へ
目次
索引へ
索引

戻る
戻る
 
次へ
次へ
 

A データ型変換

この付録には、適切なパラメータ型マッピングを判別するために使用する次の表が記載されています。

Oracle固有のデータ型から.NETフレームワークのデータ型へのマッピング

表A-1に、Oracle固有のデータ型から.NETフレームワークの型へのサポートされているマッピングを示します。

表A-1 Oracle固有のデータ型から.NETフレームワークのデータ型へのマッピング

Oracle固有のデータ型 .NETフレームワーク・データ型

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

サポート対象外

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


.NETフレームワークのデータ型からOracle固有のデータ型へのマッピング

表A-2に、.NETフレームワークの型からOracle固有のデータ型へのサポートされているマッピングを示します。

表A-2 .NETフレームワークのデータ型からOracle固有のデータ型へのマッピング

.NETフレームワーク・データ型 Oracle固有のデータ型

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、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


Oracle固有のデータ型からODP.NETのデータ型へのマッピング

表A-3に、Oracle固有のデータ型からODP.NETの型へのサポートされているマッピングを示します。

表A-3 Oracle固有のデータ型からODP.NETのデータ型へのマッピング

Oracle固有のデータ型 ODP.NETタイプ

BFILE *

OracleBFile

BINARY_DOUBLE

OracleDecimal

OracleString

BINARY_FLOAT

OracleDecimal

OracleString

BINARY_INTEGER

OracleDecimal

OracleString

BLOB

OracleBinary

OracleBlob

BOOLEAN

サポート対象外

CHAR

OracleString

CLOB

OracleClob

OracleString

DATE

OracleDate

OracleString

OracleTimeStamp

OracleTimeStampTZ

OracleTimeStampLTZ

FLOAT

OracleDecimal

OracleString

INTERVAL DAY TO SECOND

OracleString

OracleIntervalDS

INTERVAL YEAR TO MONTH

OracleIntervalYM

OracleString

LONG

OracleString

LONG RAW

OracleBinary

NCHAR

OracleString

NCLOB

OracleClob

OracleString

NUMBER

OracleDecimal

OracleString

NVARCHAR2

OracleString

PLS_INTEGER

OracleDecimal

OracleString

RAW

OracleBinary

REAL

OracleDecimal

OracleString

ROWID

OracleString

TIMESTAMP

OracleDate

OracleString

OracleTimeStamp

OracleTimeStampTZ

OracleTimeStampLTZ

TIMESTAMP WITH LOCAL TIME ZONE

OracleDate

OracleString

OracleTimeStamp

OracleTimeStampTZ

OracleTimeStampLTZ

TIMESTAMP WITH TIME ZONE

OracleDate

OracleString

OracleTimeStamp

OracleTimeStampTZ

OracleTimeStampLTZ

UROWID

OracleString

VARCHAR2

OracleString

XMLType

OracleClob

OracleString

OracleXmlType


ODP.NETのデータ型からOracle固有のデータ型へのマッピング

表A-4に、ODP.NETの型からOracle固有のデータ型へのサポートされているマッピングを示します。

表A-4 ODP.NETのデータ型からOracle固有のデータ型へのマッピング

ODP.NETタイプ Oracle固有のデータ型

OracleBFile

BFILE *

OracleBinary

BLOB

LONG RAW

RAW

OracleBlob

BLOB

OracleClob

CLOB

NCLOB

XMLType

OracleDate

DATE

TIMESTAMP

TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP WITH TIME ZONE

OracleDecimal

BINARY_DOUBLE

BINARY_INTEGER

BINARY_FLOAT

FLOAT

NUMBER

PLS_INTEGER

REAL

OracleIntervalDS

INTERVAL DAY TO SECOND

OracleIntervalYM

INTERVAL YEAR TO MONTH

OracleString

BINARY_DOUBLE

BINARY_FLOAT

BINARY_INTEGER

CHAR

CLOB

DATE

FLOAT

INTERVAL DAY TO SECOND

INTERVAL YEAR TO MONTH

LONG

NCHAR

NCLOB

NVARCHAR2

NUMBER

PLS_INTEGER

REAL

ROWID

STRING

TIMESTAMP

TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP WITH TIME ZONE

UROWID

VARCHAR2

XMLType

OracleTimeStamp

DATE

TIMESTAMP

TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP WITH TIME ZONE

OracleTimeStampTZ

DATE

TIMESTAMP

TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP WITH TIME ZONE

OracleTimeStampLTZ

DATE

TIMESTAMP

TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP WITH TIME ZONE

OracleXmlType

XMLType


.NETフレームワークへのBFILEマッピング

Oracle固有のBFILE型パラメータは、.NETのByte[]に変換できます。ただし、Byte[]からOracle固有のBFILE型への変換はサポートされません。これは、BFILEから.NETのByte[]に変換できるのは、データベース側のBFILEパラメータ型がINパラメータで、.NETストアド・プロシージャの対応するパラメータがByte[]型のINパラメータである場合のみであることを意味します。BFILE INOUTまたはOUTパラメータまたはRETURN VALUEの場合、対応する.NETストアド・プロシージャのパラメータはOracle.DataAccess.Types.OracleBFile型である必要があります。それ以外の場合は、例外がスローされます。

PL/SQL連想配列

PL/SQL連想配列はサポートされません。