次の方法で共有


Oracle データ型のマッピング

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

Oracle データ型 OracleDataReader.GetValue によって返される .NET Framework データ型 OracleDataReader.GetOracleValue によって返される OracleClient データ型 注釈
BFILE Byte[] OracleBFile
ブロッブ Byte[] OracleLob
焦がす ストリング OracleString
CLOB ストリング OracleLob
日付 日時 OracleDateTime
フロート 小数 OracleNumber このデータ型は NUMBER データ型のエイリアスであり、OracleDataReader が浮動小数点数値ではなく System.Decimal または OracleNumber を返すことを目的として設計されています。 .NET Framework データ型を使用することで、オーバーフローが発生する場合があります。
整数 小数 OracleNumber このデータ型は NUMBER(38) データ型のエイリアスであり、OracleDataReader が整数値ではなく System.Decimal または OracleNumber を返すことを目的として設計されています。 .NET Framework データ型を使用することで、オーバーフローが発生する場合があります。
年から月までの間隔 Int32 OracleMonthSpan
日から秒までの間隔 TimeSpan OracleTimeSpan
長い ストリング OracleString
LONG RAW Byte[] OracleBinary
NCHAR ストリング OracleString
NCLOB ストリング OracleLob
小数 OracleNumber .NET Framework データ型を使用することで、オーバーフローが発生する場合があります。
NVARCHAR2 ストリング OracleString
RAW する Byte[] OracleBinary
REF CURSOR Oracle の REF CURSOR データ型は、OracleDataReader オブジェクトではサポートされていません。
ROWID ストリング OracleString
タイムスタンプ 日時 OracleDateTime
ローカル タイム ゾーンを含むタイムスタンプ 日時 OracleDateTime
タイム ゾーンを含むタイムスタンプ 日時 OracleDateTime
符号なし整数 数値 OracleNumber このデータ型は NUMBER(38) データ型のエイリアスであり、OracleDataReader が符号なし整数値ではなく System.Decimal または OracleNumber を返すことを目的として設計されています。 .NET Framework データ型を使用することで、オーバーフローが発生する場合があります。
VARCHAR2 ストリング OracleString

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

Oracle データ型 パラメーターとしてバインドする DbType 列挙型 パラメーターとしてバインドする OracleType 列挙型 注釈
BFILE BFile Oracle では、BFILE パラメーターとしてのみ BFILE をバインドできます。 .NET Data Provider for Oracle では、byte[] など、OracleBinary 以外の値をバインドしようとした場合に、自動的に構築されることはありません。
ブロッブ BLOB Oracle では、BLOB パラメーターとしてのみ BLOB をバインドできます。 .NET Data Provider for Oracle では、byte[] など、OracleBinary 以外の値をバインドしようとした場合に、自動的に構築されることはありません。
焦がす AnsiStringFixedLength 焦がす
CLOB Clob Oracle では、CLOB パラメーターとしてのみ CLOB をバインドできます。 .NET Data Provider for Oracle では、System.String など、OracleString 以外の値をバインドしようとした場合に、自動的に構築されることはありません。
日付 日時 日時
フロート Single、Double、Decimal Float、Double、Number Size により、System.Data.DBTypeOracleType が決定されます。
整数 SByte、Int16、Int32、Int64、Decimal SByte、Int16、Int32、Number Size により、System.Data.DBTypeOracleType が決定されます。
年から月までの間隔 Int32 IntervalYearToMonth OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。
日から秒までの間隔 オブジェクト IntervalDayToSecond OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。
長い AnsiString LongVarChar
LONG RAW バイナリ LongRaw
NCHAR StringFixedLength NChar
NCLOB NClob Oracle では、NCLOB パラメーターとしてのみ NCLOB をバインドできます。 .NET Data Provider for Oracle では、System.String など、OracleString 以外の値をバインドしようとした場合に、自動的に構築されることはありません。
VarNumeric 数値
NVARCHAR2 ストリング NVarChar
RAW する バイナリ
REF CURSOR カーソル 詳しくは、「Oracle REF CURSOR」をご覧ください。
ROWID AnsiString Rowid
タイムスタンプ 日時 タイムスタンプ OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。
ローカル タイム ゾーンを含むタイムスタンプ 日時 TimestampLocal OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。
タイム ゾーンを含むタイムスタンプ 日時 TimestampWithTz OracleType は、Oracle 9i クライアントとサーバー ソフトウェアの両方を使用している場合のみ使用できます。
符号なし整数 Byte、UInt16、UInt32、UInt64、Decimal Byte、UInt16、Uint32、Number Size により、System.Data.DBTypeOracleType が決定されます。
VARCHAR2 AnsiString VarChar

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

関連項目