ヘッダーをスキップ
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

ByteByte[]DecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

BINARY_FLOAT

ByteByte[]DecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

BINARY_INTEGER

ByteByte[]CharDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

BLOB

Byte[]

BOOLEAN

サポート対象外

CHAR

ByteCharChar[]DateTimeDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

CLOB

ByteCharChar[]DateTimeDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

DATE

Byte[]Char[]StringDateTime

FLOAT

ByteByte[]DecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

INTERVAL DAY TO SECOND

Byte[]CharChar[]StringTimeSpan

INTERVAL YEAR TO MONTH

ByteByte[]CharChar[]intInt16Int32Int64longshortString

LONG

ByteCharChar[]DateTimeDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

LONG RAW

Byte[]

NCHAR

ByteCharChar[]DateTimeDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

NCLOB

ByteCharChar[]DateTimeDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

NUMBER

ByteByte[]CharDateTimeDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

NVARCHAR2

ByteCharChar[]DateTimeDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

PLS_INTEGER

ByteByte[]CharDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

RAW

Byte[]

REAL

ByteByte[]DecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

ROWID

Char[]String

TIMESTAMP

Byte[]Char[]StringDateTime

TIMESTAMP WITH LOCAL TIME ZONE

Byte[]Char[]StringDateTime

TIMESTAMP WITH TIME ZONE

Byte[]Char[]StringDateTime

UROWID

Char[]String

VARCHAR2

ByteCharChar[]DateTimeDecimalDoublefloatintInt16Int32Int64longSByteshortSingleStringuintUint16Uint32Uint64ulongushort

XMLType

Char[]String


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

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

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

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

Byte

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATINTERVAL YEAR TO MONTHLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

Byte[]

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERBLOBDATEFLOATINTERVAL YEAR TO MONTHLONG RAWNUMBERPLS_INTEGERRAWREALTIMESTAMPTIMESTAMP WITH LOCAL TIME ZONETIMESTAMP WITH TIME ZONE

Char

BINARY_INTEGERCHARCLOBINTERVAL DAY TO SECONDINTERVAL YEAR TO MONTHLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERVARCHAR2XMLType

Char[]

CHARCLOBDATEINTERVAL DAY TO SECONDINTERVAL YEAR TO MONTHLONGNCHARNCLOBNVARCHAR2ROWIDTIMESTAMPTIMESTAMP WITH LOCAL TIME ZONETIMESTAMP WITH TIME ZONEUROWIDVARCHAR2XMLType

DateTime

CHARCLOBDATELONGNCHARNCLOBNVARCHAR2TIMESTAMPTIMESTAMP WITH LOCAL TIME ZONETIMESTAMP WITH TIME ZONEVARCHAR2

Decimal

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHAR,CLOBFLOATLONGNCHARNCLOBNVARCHAR2NUMBERPLS_INTEGERREALVARCHAR2

Double

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

float

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

int

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATINTERVAL YEAR TO MONTHLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

Int16

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATINTERVAL YEAR TO MONTHLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

Int32

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATINTERVAL YEAR TO MONTHLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

Int64

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATINTERVAL YEAR TO MONTHLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

long

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATINTERVAL YEAR TO MONTHLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

SByte

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

short

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATINTERVAL YEAR TO MONTHLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

Single

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

String

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBDATEFLOATINTERVAL DAY TO SECONDINTERVAL YEAR TO MONTHLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALROWIDSTRINGTIMESTAMPTIMESTAMP WITH LOCAL TIME ZONETIMESTAMP WITH TIME ZONEUROWIDVARCHAR2XMLTYPE

TimeSpan

INTERVAL DAY TO SECOND

uint

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

Uint16

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

Uint32

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

Uint64

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

ulong

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2

ushort

BINARY_DOUBLEBINARY_FLOATBINARY_INTEGERCHARCLOBFLOATLONGNCHARNCLOBNUMBERNVARCHAR2PLS_INTEGERREALVARCHAR2


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連想配列はサポートされません。