Freigeben über


Datenanbieter für DB2

Plattformkompatibilität

Codepagekonvertierungen

Der Datenanbieter unterstützt eine Kombination aus Single-Byte-Zeichensätzen (Single Byte Character Sets, SBCS), Mixed-Byte-Zeichensätzen (Mixed-Byte Character Sets, MBCS), Double-Byte-Zeichensätzen (Double-Byte Character Set, DBCS) und Unicode – UTF8 [1208]. Dabei handelt es sich um ein 8-Bit-Unicode-Transformationsformat.

Host-CCSID

Der Datenanbieter erfordert einen Wert für Host-CCSID (Coded Character Set Identifier), mit dem Codepagekonvertierungen für Zeichenfolgedaten ausgeführt werden. Der Standardwert für Host-CCSID ist EBCDIC – U.S./Canada [37]. In der Regel verwenden IBM DB2-Datenbankserver für z/OS und IBM EBCDIC (Extended Binary Coded Decimal Interchange Code).

PC-Codepage

Der Datenanbieter erfordert einen Wert für die PC-Codepage, mit dem Codepagekonvertierungen für Zeichenfolgedaten ausgeführt werden. Die Standard-PC-Codepage ist ANSI – Latin I [1252]. Normalerweise verwenden Datenconsumer ANSI (American National Standards Institute) oder Unicode.

Binärwerte als Zeichen verarbeiten

Datenanbieter für DB2 konvertieren automatisch in und aus binären Datentypen (CCSID 65535) und Zeichenfolgendatentypen basierend auf dem DB2-Datentyp und dem Windows-Konsumentendatentyp. Die DB2-Codierung wird durch die Host-CCSID bestimmt. Die Windows-Codierung wird durch die PC-Codepage bestimmt.

Datentypzuordnung

In diesem Thema werden alle Datentypzuordnungen OLE DB-Datentypen beschrieben.

DB2 zu ADO.NET Datentypzuordnung

Die folgende Tabelle beschreibt DB2-Datentypzuordnungen zum ADO.NET-Anbieter für DB2 (MsDb2Client) Datentypen (MsDb2Type).

MsDb2Type DB2-Datentyp Beschreibung
BigInt Bigint Ein großer Integer ist binärer 8-Byte-Integer.
Binary Binary Ein Binär ist eine binäre Zeichenfolge fester Länge.
bit Smallint Ein kleiner Integer ist ein binärer 2-Byte-Integer.
BLOB BLOB Ein Blob (Binary Large Object) ist eine Zeichenfolge variabler Länge, die zum Speichern von Nicht-Text- oder Binärdaten verwendet wird.
Char Char Ein Zeichen ist eine SBCS- oder MBCS-Zeichenfolge fester Länge.
CLOB CLOB Ein Clob (Character Large Object) variabler Länge ist eine Zeichenfolge variabler Länge. Die maximale Länge der Zeichenfolge ist von der DB2-Plattform und -Version abhängig.
Date Date Ein Datum ist eine 10-Byte-Zeichenfolge.
DBCLOB DCLOB Ein großes Double-Byte-Zeichenobjekt (BCLOB) mit unterschiedlicher Länge ist eine grafikbasierte Doppelbyte-Zeichenfolge mit unterschiedlicher Länge. Die maximale Länge der Zeichenfolge ist von der DB2-Plattform und -Version abhängig.
Decimal Decimal Eine Dezimalzahl ist eine gepackte Dezimalzahl.
Double Double Ein Double ist eine 8-Byte-Gleitkommazahl mit doppelter Genauigkeit.
Graphic Graphic Graphic bezeichnet eine reine DBCS-Zeichenfolge fester Länge.
Int Integer Eine Ganzzahl ist eine binäre 4-Byte-Ganzzahl.
Numerisch Numerisch Eine gepackte Dezimalzahl.
Real Real Eine Fließkommazahl mit einfacher Genauigkeit und 4 Bytes.
SmallInt Smallint Ein kleiner Integer ist ein binärer 2-Byte-Integer.
Time Time Eine 8-Byte-Zeichenfolge für die Uhrzeit.
Timestamp Timestamp Ein Zeitstempel ist eine 26-Byte-Zeichenfolge, die das Datum, die Uhrzeit und die Mikrosekunden darstellt.
TinyInt Smallint Ein kleiner Integer ist ein binärer 2-Byte-Integer.
VarBinary Varbinary Ein variabler Binär ist eine binäre Zeichenfolge variabler Länge.
VarChar Varchar Ein variables Zeichen ist eine SBCS- oder MBCS-Zeichenfolge variabler Länge.
VarGraphic Vargraphic Eine variable Grafik reine DBCS-Zeichenfolge variabler Länge.
VarWideChar Vargraphic Eine variable Grafik ist eine Unicode-Zeichenfolge variabler Länge.
VarWideGraphic Vargraphic Eine variable Grafik ist eine Unicode-Zeichenfolge variabler Länge.
WideChar Graphic Eine Grafik (Graphic) ist eine Unicode-Zeichenfolge fester Länge.
Xml XML Eine wohlgeformte XML-Dokumentzeichenfolge.

Datentypzuordnung DB2 zu OLE DB

In der folgenden Tabelle werden die Zuordnungen von DB2-Datentypen zu OLE DB-Datentypen beschrieben.

OLE DB-Datentyp DB2-Datentyp Beschreibung
DBTYPE_I8 Bigint Ein großer Integer ist eine binäre 8-Byte-Ganzzahl.
DBTYPE_Bytes BINARY Ein Binär ist eine binäre Zeichenfolge fester Länge
DBTYPE_Bytes BLOB Ein Blob (Binary Large Object) ist eine Zeichenfolge variabler Länge, die zum Speichern von Nicht-Text- oder Binärdaten verwendet wird.
DBTYPE_STR Char Ein Zeichen ist eine SBCS- oder MBCS-Zeichenfolge fester Länge.
DBTYPE_WSTR Char Ein Unicode-Zeichen ist eine MBCS-Zeichenfolge fester Länge.
DBTYPE_STR CLOB Ein Clob (Character Large Object) variabler Länge ist eine Zeichenfolge variabler Länge. Die maximale Länge der Zeichenfolge ist von der DB2-Plattform und -Version abhängig.
DBTYPE_DBDate Datum Ein Datum ist eine 10-Byte-Zeichenfolge.
DBTYPE_Decimal Decimal Eine Dezimalzahl ist eine gepackte Dezimalzahl.
DBTYPE_R8 Double Ein Double ist eine 8-Byte-Gleitkommazahl mit doppelter Genauigkeit.
DBTYPE_R8 Float Eine Fließkommazahl mit doppelter Genauigkeit und 8 Bytes.
DBTYPE_WSTR Graphic Graphic bezeichnet eine reine DBCS-Zeichenfolge fester Länge.
DBTYPE_I4 Integer Eine Ganzzahl ist eine binäre 4-Byte-Ganzzahl.
DBTYPE_STR Long Varchar Ein variables Zeichen ist eine SBCS- oder MBCS-Zeichenfolge variabler Länge.
DBTYPE_WSTR Long Varchar Eine Unicode-Zeichenfolge variabler Länge.
DBTYPE_WSTR Long Vargraphic Eine variable Grafik reine DBCS-Zeichenfolge variabler Länge.
DBTYPE_Numeric Numeric Eine gepackte Dezimalzahl.
DBTYPE_I2 Smallint Ein kleiner Integer ist ein binärer 2-Byte-Integer.
DBTYPE_R4 Real Eine Fließkommazahl mit einfacher Genauigkeit und 4 Bytes.
DBTYPE_DBTime Time Eine 8-Byte-Zeichenfolge für die Uhrzeit.
DBTYPE_DBTimestamp Timestamp Ein Zeitstempel ist eine 26-Byte-Zeichenfolge, die das Datum, die Uhrzeit und die Mikrosekunden darstellt.
DBTYPE_Bytes Varbinary Ein variabler Binär ist eine binäre Zeichenfolge variabler Länge.
DBTYPE_STR Varchar Ein variables Zeichen ist eine SBCS- oder MBCS-Zeichenfolge variabler Länge.
DBTYPE_WSTR Varchar Eine Unicode-Zeichenfolge variabler Länge.
DBTYPE_WSTR VarGraphic Eine variable Grafik reine DBCS-Zeichenfolge variabler Länge.

Schemainformationen werden in OLE DB mithilfe vordefinierter Schemarowsets mithilfe von IDBSchemaRowset::GetRowset abgerufen. Der Datenanbieter hat das PROVIDER_TYPES-Rowset bereitgestellt, um die Datentypunterstützung von DB2 nach OLE DB (Datentypen, Zuordnungen, Grenzwerte) basierend auf der IBM DB2-Plattform und -Version anzuzeigen.

DB2 für z/OS

Der Datenanbieter unterstützt den Zugriff auf diese Datentypen, wenn eine Verbindung mit DB2 für z/OS besteht.

DB2-Typname OLE DB data_type Spaltengröße Minimale Skalierung Maximale Skalierung
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
Numeric DBType_Numeric 31 0 31
Datum 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 für IBM i

Der Datenanbieter unterstützt den Zugriff auf diese Datentypen, wenn eine Verbindung mit DB2 für IBM i hergestellt wird.

DB2-Typname OLE DB data_type Spaltengröße Minimale Skalierung Maximale Skalierung
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
Numeric DBType_Numeric 31 0 31
Datum DBType_DBDate 10
Time DBType_DBTime 8
Timestamp DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Varbinary DBType_Bytes 32739

DB2 für LUW

Der Datenanbieter unterstützt den Zugriff auf diese Datentypen, wenn eine Verbindung mit DB2 für LUW besteht.

DB2-Typname OLE DB data_type Spaltengröße Minimale Skalierung Maximale Skalierung
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() für BIT-Daten DBType_Bytes 254
VARCHAR() für BIT-Daten DBType_Bytes 32672
Numeric DBType_Numeric 31 0 31
Datum 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

Bei Verwendung der Import- und Export-Assistenten von SQL Server Integration Services aus Microsoft SQL Server Management Studio können Sie die standardmäßigen Datenkonvertierungen anpassen, indem Sie die XML-Zuordnungsdateien bearbeiten. Die XML-Dateien befinden sich unter C:\Programme\Microsoft SQL Server\130\DTSMappingFiles für 64-Bit und C:\Programme (x86)\Microsoft SQL Server\130\DTSMappingFiles für 32-Bit.

SQL Server-Replikationsdienste

Auf der Grundlage der Standardzuordnungen von SQL Server- zu DB2-Datentypen kann es vorkommen, dass die SQL Server-Replikation Daten ggf. nicht ordnungsgemäß konvertiert. Es wird empfohlen, dass der Administrator und Entwickler die Replikationsdatentyp-Zuordnungen unter Verwendung der folgenden gespeicherten SQL Server-Systemprozeduren überarbeiten und überprüfen.