Share via


Oracle データ型のマップ

次の表に、Oracle データ型およびその OracleDataReader へのマップを示します。

Oracle データ型

OracleDataReader.GetValue によって返される .NET Framework データ型

OracleDataReader.GetOracleValue によって返される OracleClient データ型

解説

BFILE

Byte[]

OracleBFile

 

BLOB

Byte[]

OracleLob

 

CHAR

String

OracleString

 

CLOB

String

OracleLob

 

DATE

DateTime

OracleDateTime

 

FLOAT

Decimal

OracleNumber

このデータ型は NUMBER データ型のエイリアスであり、OracleDataReader が浮動小数点数値ではなく System.Decimal または OracleNumber を返すことを目的として用意されています。 .NET Framework データ型を使用することで、オーバーフローが発生する場合があります。

INTEGER

Decimal

OracleNumber

このデータ型は NUMBER(38) データ型のエイリアスであり、OracleDataReader が整数値ではなく System.Decimal または OracleNumber を返すことを目的として用意されています。 .NET Framework データ型を使用することで、オーバーフローが発生する場合があります。

INTERVAL YEAR TO MONTH

Int32

OracleMonthSpan

 

INTERVAL DAY TO SECOND

TimeSpan

OracleTimeSpan

 

LONG

String

OracleString

 

LONG RAW

Byte[]

OracleBinary

 

NCHAR

String

OracleString

 

NCLOB

String

OracleLob

 

NUMBER

Decimal

OracleNumber

.NET Framework データ型を使用することで、オーバーフローが発生する場合があります。

NVARCHAR2

String

OracleString

 

RAW

Byte[]

OracleBinary

 

REF CURSOR

 

 

Oracle REF CURSOR データ型は OracleDataReader オブジェクトではサポートされていません。

ROWID

String

OracleString

 

TIMESTAMP

DateTime

OracleDateTime

 

TIMESTAMP WITH LOCAL TIME ZONE

DateTime

OracleDateTime

 

TIMESTAMP WITH TIME ZONE

DateTime

OracleDateTime

 

UNSIGNED INTEGER

Number

OracleNumber

このデータ型は NUMBER(38) データ型のエイリアスであり、OracleDataReader が符号なし整数値ではなく System.Decimal または OracleNumber を返すことを目的として用意されています。 .NET Framework データ型を使用することで、オーバーフローが発生する場合があります。

VARCHAR2

String

OracleString

 

次の表に、パラメーターとしてバインドする場合に使用する Oracle データ型および .NET Framework データ型 (System.Data.DbType および OracleType) を示します。

Oracle データ型

パラメーターとしてバインドする DbType 列挙型

パラメーターとしてバインドする OracleType 列挙型

解説

BFILE

 

BFile

Oracle では、BFILE パラメーターとしてのみ BFILE をバインドできます。 .NET Data Provider for Oracle では、byte[]OracleBinary など、BFILE 以外の値をバインドしようとした場合に、自動的にこれを構築することはありません。

BLOB

 

Blob

Oracle では、BLOB パラメーターとしてのみ BLOB をバインドできます。 .NET Data Provider for Oracle では、byte[]OracleBinary など、BLOB 以外の値をバインドしようとした場合に、自動的にこれを構築することはありません。

CHAR

AnsiStringFixedLength

Char

 

CLOB

 

Clob

Oracle では、CLOB パラメーターとしてのみ CLOB をバインドできます。 .NET Data Provider for Oracle では、System.StringOracleString など、CLOB 以外の値をバインドしようとした場合に、自動的にこれを構築することはありません。

DATE

DateTime

DateTime

 

FLOAT

Single、Double、Decimal

Float、Double、Number

Size により System.Data.DBType および OracleType が決定されます。

INTEGER

SByte、Int16、Int32、Int64、Decimal

SByte、Int16、Int32、Number

Size により System.Data.DBType および OracleType が決定されます。

INTERVAL YEAR TO MONTH

Int32

IntervalYearToMonth

OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。

INTERVAL DAY TO SECOND

Object

IntervalDayToSecond

OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。

LONG

AnsiString

LongVarChar

 

LONG RAW

Binary

LongRaw

 

NCHAR

StringFixedLength

NChar

 

NCLOB

 

NClob

Oracle では、NCLOB パラメーターとしてのみ NCLOB をバインドできます。 .NET Data Provider for Oracle では、System.StringOracleString など、NCLOB 以外の値をバインドしようとした場合に、自動的にこれを構築することはありません。

NUMBER

VarNumeric

Number

 

NVARCHAR2

String

NVarChar

 

RAW

Binary

Raw

 

REF CURSOR

 

Cursor

詳細については、「Oracle REF CURSOR」を参照してください。

ROWID

AnsiString

Rowid

 

TIMESTAMP

DateTime

Timestamp

OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。

TIMESTAMP WITH LOCAL TIME ZONE

DateTime

TimestampLocal

OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。

TIMESTAMP WITH TIME ZONE

DateTime

TimestampWithTz

OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。

UNSIGNED INTEGER

Byte、UInt16、UInt32、UInt64、Decimal

Byte、UInt16、Uint32、Number

Size により System.Data.DBType および OracleType が決定されます。

VARCHAR2

AnsiString

VarChar

 

OracleParameter オブジェクトの Value プロパティで使用される InputOutput 値、Output 値、および ReturnValue ParameterDirection 値は、入力値が Oracle データ型 (OracleNumberOracleString など) でない限り、.NET Framework データ型となります。 これは REF CURSORBFILE、または LOB データ型には適用されません。

参照

その他の技術情報

Oracle および ADO.NET