Freigeben über


Datenanbieter für DB2

Plattformkompatibilität

Codeseitenkonvertierungen

Der Datenanbieter unterstützt eine Kombination aus Einzelnen-Byte-Zeichensätzen (SBCS), Mixed-Byte-Zeichensätzen (MBCS) double-byte character sets (DBCS) und Unicode - UTF8 [1208], bei dem es sich um ein 8-Bit-Unicode-Transformationsformat handelt.

Host CCSID

Der Datenanbieter erfordert einen Wert für Host CCSID (Coded Character Set Identifier), mit dem Codeseitenkonvertierungen für Zeichenfolgendaten ausgeführt werden können. Der Standardmäßige Host CCSID-Wert ist EBCDIC – USA/Kanada [37]. In der Regel verwenden IBM DB2-Datenbankserver für z/OS und IBM i EBCDIC (Extended Binary Coded Decimal Interchange Code).

PC-Codeseite

Der Datenanbieter erfordert einen Wert für die PC-Codeseite, mit der Codeseitenkonvertierungen für Zeichenfolgendaten ausgeführt werden können. Die Standard-PC-Codeseite ist ANSI – Lateinisch I [1252]. Datenkonsumenten verwenden in der Regel entweder ANSI (American National Standards Institute) oder Unicode.

Binärdatei als Zeichen verarbeiten

Die Datenanbieter für DB2 werden automatisch in binär (CCSID 65535) und Zeichenzeichenfolgendatentypen basierend auf dem DB2-Datentyp und dem Windows Consumer-Datentyp konvertiert. Die DB2-Codierung wird durch die Host-CCSID bestimmt. Die Windows-Codierung wird von der PC-Codeseite bestimmt.

Datentypzuordnung

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

DB2-zu-ADO.NET-Datentypzuordnung

In der folgenden Tabelle werden DB2-Datentypzuordnungen zu ADO.NET Provider für DB2-Datentypen (MsDb2Client) (MsDb2Type) beschrieben.

MsDb2Type DB2-Datentyp Beschreibung
BigInt Bigint Eine große ganze Zahl ist eine 8-Byte-Binärzahl.
Binär Binär Eine Binärdatei ist eine binäre Zeichenfolge mit fester Länge.
Bit Smallint Eine kleine ganze Zahl ist eine 2-Byte-Binärzahl.
BLOB BLOB Ein binäres großes Objekt ist eine Zeichenfolge mit unterschiedlicher Länge, die zum Speichern nicht textbezogener oder binärer Daten verwendet wird.
Char Char Ein Zeichen ist eine SBCS- oder MBCS-Zeichenfolge mit fester Länge.
CLOB CLOB Ein großes Objekt mit unterschiedlicher Länge ist eine Zeichenfolge mit unterschiedlicher Länge. Die maximale Länge der Zeichenfolge hängt von der DB2-Plattform und -Version ab.
Datum Datum Ein Datum ist eine 10-Byte-Zeichenfolge.
DBCLOB DCLOB Ein großes Objekt mit doppeltem Byte-Zeichen mit unterschiedlicher Länge ist eine Zeichenfolge mit unterschiedlicher Länge. Die maximale Länge der Zeichenfolge hängt von der DB2-Plattform und -Version ab.
Decimal Decimal Eine Dezimalzahl ist eine gepackte Dezimalzahl.
Double Double Ein Double ist eine Gleitkommazahl mit doppelter Genauigkeit von 8 Byte.
Grafik Grafik Eine Grafik ist eine dbCS-Zeichenfolge mit fester Länge.
Int Integer Eine ganze Zahl ist eine 4-Byte-Binärzahl.
Numerisch Numerisch Eine Zahl ist eine gepackte Dezimalzahl.
Real Real Ein Real ist eine 4-Byte-Gleitkommazahl mit einfacher Genauigkeit.
SmallInt Smallint Eine kleine ganze Zahl ist eine 2-Byte-Binärzahl.
Uhrzeit Uhrzeit Eine Zeit ist eine 8-Byte-Zeitzeichenfolge.
Zeitstempel Zeitstempel Ein Zeitstempel ist eine 26-Byte-Zeichenfolge, die Datum, Uhrzeit und Mikrosekunden darstellt.
TinyInt Smallint Eine kleine ganze Zahl ist eine 2-Byte-Binärzahl.
VarBinary Varbinary Eine unterschiedliche Binärdatei ist eine Zeichenfolge mit unterschiedlicher Länge.
VarChar Varchar Ein unterschiedliches Zeichen ist eine unterschiedliche SBCS- oder MBCS-Zeichenzeichenfolge.
VarGraphic Variegraphisch Eine unterschiedliche Grafik ist eine Zeichenfolge mit unterschiedlicher Länge.
VarWideChar Variegraphisch Eine unterschiedliche Grafik ist eine unicode-Zeichenfolge mit unterschiedlicher Länge.
VarWideGraphic Variegraphisch Eine unterschiedliche Grafik ist eine unicode-Zeichenfolge mit unterschiedlicher Länge.
WideChar Grafik Eine Grafik ist eine Unicode-Zeichenfolge mit fester Länge.
XML XML Eine wohlgeformte XML-Dokumentzeichenfolge.

DB2-zu-OLE DB-Datentypzuordnung

In der folgenden Tabelle werden DB2-Datentypzuordnungen zu OLE DB-Datentypen beschrieben.

OLE DB-Datentyp DB2-Datentyp Beschreibung
DBTYPE_I8 Bigint Eine große ganze Zahl ist eine 8-Byte-Binärzahl.
Dbtype_bytes BINÄR Eine Binärdatei ist eine binäre Zeichenfolge mit fester Länge.
Dbtype_bytes BLOB Ein binäres großes Objekt ist eine Zeichenfolge mit unterschiedlicher Länge, die zum Speichern nicht textbezogener oder binärer Daten verwendet wird.
DBTYPE_STR Char Ein Zeichen ist eine SBCS- oder MBCS-Zeichenfolge mit fester Länge.
DBTYPE_WSTR Char Ein Unicode-Zeichen ist eine MBCS-Zeichenfolge mit fester Länge.
DBTYPE_STR CLOB Ein großes Objekt mit unterschiedlicher Länge ist eine Zeichenfolge mit unterschiedlicher Länge. Die maximale Länge der Zeichenfolge hängt von der DB2-Plattform und -Version ab.
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 Gleitkommazahl mit doppelter Genauigkeit von 8 Byte.
DBTYPE_R8 Schweben Ein Float ist eine Gleitkommazahl mit doppelter Genauigkeit von 8 Byte.
DBTYPE_WSTR Grafik Eine Grafik ist eine dbCS-Zeichenfolge mit fester Länge.
DBTYPE_I4 Integer Eine ganze Zahl ist eine 4-Byte-Binärzahl.
DBTYPE_STR Long Varchar Ein unterschiedliches Zeichen ist eine unterschiedliche SBCS- oder MBCS-Zeichenzeichenfolge.
DBTYPE_WSTR Long Varchar Eine unterschiedliche Unicode-Zeichenfolge mit unterschiedlicher Länge.
DBTYPE_WSTR Long Vargraphic Eine unterschiedliche Grafik ist eine Zeichenfolge mit unterschiedlicher Länge.
Dbtype_numeric Numerisch Eine Zahl ist eine gepackte Dezimalzahl.
DBTYPE_I2 Smallint Eine kleine ganze Zahl ist eine 2-Byte-Binärzahl.
DBTYPE_R4 Real Ein Real ist eine 4-Byte-Gleitkommazahl mit einfacher Genauigkeit.
DBTYPE_DBTime Uhrzeit Eine Zeit ist eine 8-Byte-Zeitzeichenfolge.
Dbtype_dbtimestamp Zeitstempel Ein Zeitstempel ist eine 26-Byte-Zeichenfolge, die Datum, Uhrzeit und Mikrosekunden darstellt.
Dbtype_bytes Varbinary Eine unterschiedliche Binärdatei ist eine Zeichenfolge mit unterschiedlicher Länge.
DBTYPE_STR Varchar Ein unterschiedliches Zeichen ist eine unterschiedliche SBCS- oder MBCS-Zeichenzeichenfolge.
DBTYPE_WSTR Varchar Eine unterschiedliche Unicode-Zeichenfolge mit unterschiedlicher Länge.
DBTYPE_WSTR VarGraphic Eine unterschiedliche Grafik ist eine Zeichenfolge mit unterschiedlicher Länge.

Schemainformationen in OLE DB werden mithilfe vordefinierter Schema-Rowsets mit IDBSchemaRowset::GetRowset abgerufen. Der Datenanbieter hat das PROVIDER_TYPES Rowset verfügbar gemacht, um die Unterstützung des DB2-Datentyps (Typen, Zuordnungen, Grenzwerte) basierend auf der IBM DB2-Plattform und -Version anzugeben.

DB2 für z/OS

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

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
Binär Dbtype_bytes 255
Real DBType_R4 21
Schweben DBType_R8 53
Double DBType_R8 53
Decimal DBType_Decimal 31 0 31
Grafik Dbtype_wstr 127
VarGraphic Dbtype_wstr 16352
Char Dbtype_str 255
Varchar Dbtype_str 32,672
Char Dbtype_wstr 255
Varchar Dbtype_wstr 32,672
Numerisch Dbtype_numeric 31 0 31
Datum DBType_DBDate 10
Uhrzeit DBType_DBTime 8
Zeitstempel DBType_Timestamp 26
BLOB Dbtype_bytes 2147483647
CLOB Dbtype_str 2147483647
Long Varchar Dbtype_str 32,704
Long Varchar Dbtype_wstr 32,704
Long Vargraphic Dbtype_wstr 16352
Varbinary DBTypte_Bytes 32,704

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-Type_name OLE DB-data_type Column_size Minimum_scale Maximum_scale
Binär Dbtype_bytes 32765
Smallint DBType_12 5
Integer DBType_14 10
Bigint DBType_18 19
Real DBType_R4 24
Schweben DBType_R8 53
Double DBType_R8 53
Decimal DBType_Decimal 63 0 31
Grafik Dbtype_wstr 16382
VarGraphic Dbtype_wstr 16369
Char Dbtype_str 32765
Varchar Dbtype_str 32739
Char Dbtype_wstr 32765
Varchar Dbtype_wstr 32739
Numerisch Dbtype_numeric 31 0 31
Datum DBType_DBDate 10
Uhrzeit DBType_DBTime 8
Zeitstempel 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 hergestellt wird.

DB2-Type_name OLE DB-data_type Column_size Minimum_scale Maximum_scale
Binär Dbtype_bytes 254
Smallint DBType_12 5
Integer DBType_14 10
Bigint DBType_18 19
Real DBType_R4 24
Schweben DBType_R8 53
Double DBType_R8 53
Decimal DBType_Decimal 31 0 31
Grafik Dbtype_wstr 127
VarGraphic Dbtype_wstr 16336
Char Dbtype_str 254
Varchar Dbtype_str 4000
Char Dbtype_wstr 254
Varchar Dbtype_wstr 4000
Zeichen() für BIT-Daten Dbtype_bytes 254
Varchar() für BIT-Daten Dbtype_bytes 32,672
Numerisch Dbtype_numeric 31 0 31
Datum DBType_DBDate 10
Uhrzeit DBType_DBTime 8
Zeitstempel 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

Wenn Sie die IMPORT- und Export-Assistenten für SQL Server-Integrationsdienste aus Microsoft SQL Server Management Studio verwenden, können Sie die Standarddatenkonvertierungen 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

Die SQL Server-Replikation kann Daten basierend auf den Standardzuordnungen von SQL Server zu DB2-Datentypen falsch konvertieren. Es wird empfohlen, dass der Administrator und der Entwickler die Replikationsdatentypzuordnungen mithilfe der folgenden gespeicherten SQL Server-Prozeduren überprüfen und überarbeiten.