次の方法で共有


DB2 のデータ プロバイダー

プラットフォームの互換性

コード ページ変換

データ プロバイダーでは、1 バイト文字セット (SBCS)、マルチバイト文字セット (MBCS)、2 バイト文字セット (DBCS)、および Unicode - UTF8 [1208] (8 ビットの Unicode 変換形式) の組み合わせがサポートされます。

ホスト CCSID

データ プロバイダーは、文字列データでコード ページ変換を実行するホスト CCSID (Coded Character Set Identifier) の値を必要とします。 既定のホスト CCSID 値は EBCDIC – 米国/カナダ [37] です。 通常、z/OS および IBM i 用 IBM DB2 データベース・サーバーは EBCDIC (拡張二項コード 10 進交換コード) を使用します。

[PC コード ページ]

データ プロバイダーは、文字列データでコード ページ変換を実行する PC コード ページの値を必要とします。 既定の PC コード ページは ANSI – ラテン語 I [1252] です。 通常、データ コンシューマーは ANSI (American National Standards Institute) または Unicode のどちらかを使用します。

バイナリを文字として処理する

DB2 のデータ プロバイダーは、DB2 データ型と Windows コンシューマー データ型に基づいて、バイナリ (CCSID 65535) および文字列データ型との間で自動的に変換されます。 DB2 エンコードは、ホスト CCSID によって決定されます。 Windows エンコードは、PC コード ページによって決定されます。

データ型のマッピング

このトピックでは、OLE DB データ型へのすべてのデータ型のマッピングについて説明します。

DB2 から ADO.NET データ型へマッピング

次の表では、DB2 データ型から ADO.NET Provider for DB2 (MsDb2Client) データ型 (MsDb2Type) へのマッピングについて説明します。

MsDb2Type DB2 データ型 説明
BigInt Bigint Big integer は 8 バイトのバイナリ整数です。
Binary Binary Binary は固定長のバイナリ文字列です。
ビット Smallint Small integer は 2 バイトのバイナリ整数です。
BLOB BLOB Binary large object は、非テキスト型データまたはバイナリ データを格納するために使用される可変長の文字列です。
Char Char Char は固定長の SBCS または MBCS 文字列です。
CLOB CLOB 可変長の character large object は可変長文字列です。 文字列の最大長は、DB2 のプラットフォームおよびバージョンによって異なります。
Date Date Date は 10 バイト文字列です。
DBCLOB DCLOB 可変長の double-byte character large object は、可変長グラフィックの 2 バイトのみの列です。 文字列の最大長は、DB2 のプラットフォームおよびバージョンによって異なります。
Decimal (10 進数型) Decimal Decimal はパック 10 進数です。
Double Double Double は 8 バイト倍精度浮動小数点数です。
Graphic Graphic Graphic は DBCS のみの固定長文字列です。
int 整数型 Integer は 4 バイトのバイナリ整数です。
数値 数値 Numeric はパック 10 進数です。
Real Real Real は 4 バイト単精度浮動小数点数です。
SmallInt Smallint Small integer は 2 バイトのバイナリ整数です。
Time Time Time は 8 バイトの時刻の文字列です。
Timestamp Timestamp TimeStamp は日付、時刻、およびマイクロ秒を表す 26 バイト文字列です。
TinyInt Smallint Small integer は 2 バイトのバイナリ整数です。
VarBinary Varbinary Varying binary は可変長のバイナリ文字列です。
VarChar Varchar Varying character は可変長の SBCS または MBCS 文字列です。
VarGraphic Vargraphic Varying graphic は DBCS のみの可変長文字列です。
VarWideChar Vargraphic Varying graphic は Unicode のみの可変長文字列です。
VarWideGraphic Vargraphic Varying graphic は Unicode のみの可変長文字列です。
WideChar Graphic Graphic は固定長の Unicode 文字列です。
xml XML 整形式の XML 文書の文字列です。

DB2 から OLE DB データ型へのマッピング

OLE DB データ型への DB2 データ型のマッピングを次の表に示します。

OLE DB データ型 DB2 データ型 説明
DBTYPE_I8 Bigint Big integer は 8 バイトのバイナリ整数です。
DBTYPE_Bytes BINARY Binary は固定長のバイナリ文字列です
DBTYPE_Bytes BLOB Binary large object は、非テキスト型データまたはバイナリ データを格納するために使用される可変長の文字列です。
DBTYPE_STR Char Char は固定長の SBCS または MBCS 文字列です。
DBTYPE_WSTR Char Unicode 文字は固定長 MBCS 文字列です。
DBTYPE_STR CLOB 可変長の character large object は可変長文字列です。 文字列の最大長は、DB2 のプラットフォームおよびバージョンによって異なります。
DBTYPE_DBDate Date Date は 10 バイト文字列です。
DBTYPE_Decimal Decimal Decimal はパック 10 進数です。
DBTYPE_R8 Double Double は 8 バイト倍精度浮動小数点数です。
DBTYPE_R8 Float Float は 8 バイト倍精度浮動小数点数です。
DBTYPE_WSTR Graphic Graphic は DBCS のみの固定長文字列です。
DBTYPE_I4 Integer Integer は 4 バイトのバイナリ整数です。
DBTYPE_STR Long Varchar Varying character は可変長の SBCS または MBCS 文字列です。
DBTYPE_WSTR Long Varchar 可変長の Unicode 文字列です。
DBTYPE_WSTR Long Vargraphic Varying graphic は DBCS のみの可変長文字列です。
DBTYPE_Numeric 数値 Numeric はパック 10 進数です。
DBTYPE_I2 Smallint Small integer は 2 バイトのバイナリ整数です。
DBTYPE_R4 Real Real は 4 バイト単精度浮動小数点数です。
DBTYPE_DBTime Time Time は 8 バイトの時刻の文字列です。
DBTYPE_DBTimestamp Timestamp TimeStamp は日付、時刻、およびマイクロ秒を表す 26 バイト文字列です。
DBTYPE_Bytes Varbinary Varying binary は可変長のバイナリ文字列です。
DBTYPE_STR Varchar Varying character は可変長の SBCS または MBCS 文字列です。
DBTYPE_WSTR Varchar 可変長の Unicode 文字列です。
DBTYPE_WSTR VarGraphic Varying graphic は DBCS のみの可変長文字列です。

OLE DB のスキーマ情報の取得には、定義済みスキーマ行セットと IDBSchemaRowset::GetRowset を使用します。 データ プロバイダーは PROVIDER_TYPES 行セットを公開し、IBM DB2 プラットフォームとバージョンに基づいて DB2 から OLE DB データ型のサポート (種類、マッピング、制限) を示しました。

DB2 for z/OS

データ プロバイダーは、DB2 for z/OS に接続したときに、これらのデータ型へのアクセスをサポートします。

DB2 Type_name OLE DB data_type Column_size Minimum_scale Maximum_scale
Smallint DBType_12 5
Integer DBType_14 10
Bigint DBType_18 19
Binary DBType_Bytes 255
Real DBType_R4 21
Float DBType_R8 53
Double DBType_R8 53
Decimal DBType_Decimal 31 0 31
Graphic DBType_WSTR 127
VarGraphic DBType_WSTR 16352
Char DBType_STR 255
Varchar DBType_STR 32672
Char DBType_WSTR 255
Varchar DBType_WSTR 32672
数値 DBType_Numeric 31 0 31
Date DBType_DBDate 10
Time DBType_DBTime 8
Timestamp DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Long Varchar DBType_STR 32704
Long Varchar DBType_WSTR 32704
Long Vargraphic DBType_WSTR 16352
Varbinary DBTypte_Bytes 32704

DB2 for IBM i

データ・プロバイダーは、DB2 for IBM i に接続されている場合のこれらのデータ・タイプへのアクセスをサポートします。

DB2 Type_name OLE DB data_type Column_size Minimum_scale Maximum_scale
Binary DBType_Bytes 32765
Smallint DBType_12 5
Integer DBType_14 10
Bigint DBType_18 19
Real DBType_R4 24
Float DBType_R8 53
Double DBType_R8 53
Decimal DBType_Decimal 63 0 31
Graphic DBType_WSTR 16382
VarGraphic DBType_WSTR 16369
Char DBType_STR 32765
Varchar DBType_STR 32739
Char DBType_WSTR 32765
Varchar DBType_WSTR 32739
数値 DBType_Numeric 31 0 31
Date DBType_DBDate 10
Time DBType_DBTime 8
Timestamp DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Varbinary DBType_Bytes 32739

DB2 for LUW

データ プロバイダーは、DB2 for LUW に接続したときに、これらのデータ型へのアクセスをサポートします。

DB2 Type_name OLE DB data_type Column_size Minimum_scale Maximum_scale
Binary DBType_Bytes 254
Smallint DBType_12 5
Integer DBType_14 10
Bigint DBType_18 19
Real DBType_R4 24
Float DBType_R8 53
Double DBType_R8 53
Decimal DBType_Decimal 31 0 31
Graphic DBType_WSTR 127
VarGraphic DBType_WSTR 16336
Char DBType_STR 254
Varchar DBType_STR 4000
Char DBType_WSTR 254
Varchar DBType_WSTR 4000
Char() for BIT data DBType_Bytes 254
Varchar() for BIT data DBType_Bytes 32672
数値 DBType_Numeric 31 0 31
Date DBType_DBDate 10
Time DBType_DBTime 8
Timestamp DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Long Varchar DBType_STR 32700
Long Varchar DBType_STR 32700
Long Varchar DBType_WSTR 16350
Varbinary DBTYPE_BYTES 32762

SQL Server Integration Services

SQL Server Integration Services のインポート ウィザードおよびエクスポート ウィザードを Microsoft SQL Server Management Studio から使用する場合、XML マッピング ファイルを編集することで既定のデータ変換をカスタマイズできます。 XML ファイルは、64 ビットの場合は C:\Program Files\Microsoft SQL Server\130\DTSMappingFiles、32 ビットの場合は C:\Program Files (x86)\Microsoft SQL Server\130\DTSMappingFiles にあります。

SQL Server レプリケーション サービス

SQL Server レプリケーションでは、SQL Server から DB2 データ型への既定のマッピングに基づき、データが不適切に変換される場合があります。 管理者および開発者が、次の SQL Server システム ストアド プロシージャを使用して、レプリケーションのデータ型マッピングを確認し、修正することをお勧めします。