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.
·sp_helpdatatypemap
·sp_getdefaultdatatypemapping
·sp_setdefaultdatatypemapping
Weitere Informationen finden Sie unter Gespeicherte Systemprozeduren (Transact-SQL).