Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Azure Data Factory
Azure Synapse Analytics
Tipp
Data Factory in Microsoft Fabric ist die nächste Generation von Azure Data Factory mit einer einfacheren Architektur, integrierter KI und neuen Features. Wenn Sie mit der Datenintegration noch nicht vertraut sind, beginnen Sie mit Fabric Data Factory. Vorhandene ADF-Workloads können auf Fabric aktualisiert werden, um auf neue Funktionen in der Datenwissenschaft, Echtzeitanalysen und Berichterstellung zuzugreifen.
In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in Azure Data Factory- und Synapse Analytics-Pipelines verwenden, um Daten aus einer DB2-Datenbank zu kopieren. Er baut auf dem Artikel zur Übersicht über die Kopieraktivität auf, der eine allgemeine Übersicht über die Kopieraktivität enthält.
Unterstützte Funktionen
Für den DB2-Connector werden die folgenden Funktionen unterstützt:
| Unterstützte Funktionen | IR |
|---|---|
| Aktivität kopieren (Quelle/-) | (1) (2) |
| Lookup-Aktivität | (1) (2) |
(1) Azure Integrationslaufzeit (2) Selbst gehostete Integrationslaufzeit
Eine Liste der Datenspeicher, die als Quellen oder Senken für die Kopieraktivität unterstützt werden, finden Sie in der Tabelle Unterstützte Datenspeicher.
Der DB2-Connector unterstützt insbesondere die folgenden IBM DB2-Plattformen und -Versionen mit den Versionen 9, 10 und 11 von Distributed Relational Database Architecture (DRDA) SQL Access Manager (SQLAM). Dabei wird das DDM-/DRDA-Protokoll verwendet.
- IBM DB2 für z/OS 12.1
- IBM DB2 für z/OS 11.1
- IBM DB2 für i 7.3
- IBM DB2 für i 7.2
- IBM DB2 für i 7.1
- IBM DB2 für LUW 11
- IBM DB2 für LUW 10.5
- IBM DB2 für LUW 10.1
Voraussetzungen
Wenn sich Ihr Datenspeicher in einem lokalen Netzwerk, einem Azure virtuellen Netzwerk oder amazon Virtual Private Cloud befindet, müssen Sie eine self-gehostete Integrationslaufzeit konfigurieren, um eine Verbindung damit herzustellen.
Wenn Ihr Datenspeicher ein verwalteter Clouddatendienst ist, können Sie die Azure Integration Runtime verwenden. Wenn der Zugriff auf IPs beschränkt ist, die in den Firewallregeln genehmigt wurden, können Sie der Zulassungsliste Azure Integration Runtime-IPs hinzufügen.
Sie können auch das Feature managed virtual network integration runtime in Azure Data Factory verwenden, um auf das lokale Netzwerk zuzugreifen, ohne eine selbst gehostete Integrationslaufzeit zu installieren und zu konfigurieren.
Weitere Informationen zu den von Data Factory unterstützten Netzwerksicherheitsmechanismen und -optionen finden Sie unter Datenzugriffsstrategien.
Die Integration Runtime stellt einen integrierten DB2-Treiber bereit, daher müssen Sie beim Kopieren von Daten aus DB2 keine Treiber manuell installieren.
Erste Schritte
Zum Ausführen der Kopieraktivität mit einer Pipeline können Sie eines der folgenden Tools oder SDKs verwenden:
- Datenkopier-Tool
- Azure Portal
- .NET SDK
- Python SDK
- Azure PowerShell
- REST-API
- Azure Resource Manager Vorlage
Erstellen eines verknüpften Diensts für DB2 über die Benutzeroberfläche
Führen Sie die folgenden Schritte aus, um in der benutzeroberfläche des Azure Portals einen verknüpften Dienst mit DB2 zu erstellen.
Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zur Registerkarte "Verwalten", und wählen Sie "Verknüpfte Dienste" aus, und klicken Sie dann auf "Neu":
Suchen Sie nach DB2, und wählen Sie den DB2-Connector aus.
Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.
Details zur Connectorkonfiguration
Die folgenden Abschnitte enthalten Details zu Eigenschaften, die zum Definieren von Data Factory-Entitäten speziell für den DB2-Connector verwendet werden:
Eigenschaften des verknüpften Diensts
Folgende Eigenschaften werden für den mit DB2 verknüpften Dienst unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die type-Eigenschaft muss auf Folgendes festgelegt werden: Db2 | Ja |
| connectionString | Geben Sie Informationen an, die für die Verbindungsherstellung mit der DB2-Instanz erforderlich sind. Sie können das Kennwort auch in Azure Key Vault einfügen und die konfiguration password aus dem Verbindungszeichenfolge herausziehen. Weitere Informationen finden Sie in den folgenden Beispielen und im Artikel Speichern von Anmeldeinformationen in Azure Key Vault. |
Ja |
| connectVia | Die Integration Runtime wird verwendet, um eine Verbindung mit dem Datenspeicher herzustellen. Weitere Informationen finden Sie im Abschnitt Voraussetzungen. Wenn nicht angegeben, wird die Standard-Azure Integration Runtime verwendet. | Nein |
Typische Eigenschaften in der Verbindungszeichenfolge:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| server | Name des DB2-Servers. Sie können die Portnummer hinter dem Servernamen und einem Semikolon angeben, z.B.: server:port.Der DB2-Connector verwendet das DDM/DRDA-Protokoll und nutzt standardmäßig Port 50000, sofern nichts anderes angegeben ist. Der Port, der von Ihrer speziellen DB2-Datenbank verwendet wird, kann sich je nach Version und Ihren Einstellungen unterscheiden. Für DB2 LUW wird beispielsweise der Standardport 50000 verwendet, für AS400 ist der Standardport dagegen 446 oder 448, wenn TLS aktiviert ist. Informationen zur typischen Portkonfiguration finden Sie in den folgenden DB2-Dokumenten: DB2 z/OS, DB2 iSeries und DB2 LUW. |
Ja |
| Datenbank | Name der DB2-Datenbank. | Ja |
| Authentifizierungstyp | Typ der Authentifizierung für die Verbindung mit der DB2-Datenbank. Zulässiger Wert: Basic. |
Ja |
| Benutzername | Geben Sie einen Benutzernamen für das Herstellen der Verbindung mit der DB2-Datenbank an. | Ja |
| Passwort | Geben Sie das Kennwort für das Benutzerkonto an, das Sie für den Benutzernamen angegeben haben. Markieren Sie dieses Feld als SecureString, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. | Ja |
| packageCollection | Geben Sie an, wo die benötigten Pakete beim Abfragen der Datenbank automatisch vom Dienst erstellt werden. Ist dies nicht festgelegt, verwendet der Dienst „{username}“ als Standardwert. | Nein |
| ZertifikatAllgemeinerName | Wenn Sie Verschlüsselung mit Secure Sockets Layer (SSL) oder Transport Layer Security (TLS) verwenden, müssen Sie einen Wert für den allgemeinen Namen des Zertifikats eingeben. | Nein |
Tipp
Wenn Sie die Fehlermeldung The package corresponding to an SQL statement execution request was not found. SQLSTATE=51002 SQLCODE=-805 erhalten, ist der Grund, dass ein erforderliches Paket nicht für den Benutzer erstellt wurde. Standardmäßig versucht der Dienst, ein Paket unter der Sammlung mit dem Benutzernamen zu erstellen, den Sie zum Herstellen der Verbindung mit DB2 verwendet haben. Geben Sie die Paketsammlungseigenschaft an, um festzulegen, wo die erforderlichen Pakete beim Abfragen der Datenbank vom Dienst erstellt werden sollen. Wenn Sie den Paketsammlungsnamen nicht ermitteln können, versuchen Sie, packageCollection=NULLID festzulegen.
Beispiel:
{
"name": "Db2LinkedService",
"properties": {
"type": "Db2",
"typeProperties": {
"connectionString": "server=<server:port>;database=<database>;authenticationType=Basic;username=<username>;password=<password>;packageCollection=<packagecollection>;certificateCommonName=<certname>;"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
{
"name": "Db2LinkedService",
"properties": {
"type": "Db2",
"typeProperties": {
"connectionString": "server=<server:port>;database=<database>;authenticationType=Basic;username=<username>;packageCollection=<packagecollection>;certificateCommonName=<certname>;",
"password": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Wenn Sie den verknüpften DB2-Dienst mit der folgenden Nutzlast verwendet haben, wird er weiterhin unverändert unterstützt. Es wird jedoch empfohlen, zukünftig die neue Version zu verwenden.
Vorherige Nutzlast:
{
"name": "Db2LinkedService",
"properties": {
"type": "Db2",
"typeProperties": {
"server": "<servername:port>",
"database": "<dbname>",
"authenticationType": "Basic",
"username": "<username>",
"password": {
"type": "SecureString",
"value": "<password>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Dataset-Eigenschaften
Eine vollständige Liste mit den Abschnitten und Eigenschaften, die zum Definieren von Datasets zur Verfügung stehen, finden Sie im Artikel zu Datasets. Dieser Abschnitt enthält eine Liste der Eigenschaften, die vom DB2-Dataset unterstützt werden.
Zum Kopieren von Daten aus DB2 werden die folgenden Eigenschaften unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die type-Eigenschaft des Datasets muss auf folgenden Wert festgelegt werden: Db2Table | Ja |
| Schema | Name des Schemas. | Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
| Tabelle | Der Name der Tabelle. | Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
| Tabellenname | Name der Tabelle mit Schema. Diese Eigenschaft wird aus Gründen der Abwärtskompatibilität weiterhin unterstützt. Verwenden Sie schema und table für eine neue Aufgabenlast. |
Nein (wenn „query“ in der Aktivitätsquelle angegeben ist) |
Beispiel
{
"name": "DB2Dataset",
"properties":
{
"type": "Db2Table",
"typeProperties": {},
"schema": [],
"linkedServiceName": {
"referenceName": "<DB2 linked service name>",
"type": "LinkedServiceReference"
}
}
}
Wenn Sie das Datenset vom Typ RelationalTable verwenden, wird es weiterhin unverändert unterstützt. Es wird jedoch empfohlen, zukünftig die neue Version zu verwenden.
Eigenschaften der Kopieraktivität
Eine vollständige Liste mit den Abschnitten und Eigenschaften zum Definieren von Aktivitäten finden Sie im Artikel Pipelines. Dieser Abschnitt enthält eine Liste der Eigenschaften, die von der DB2-Quelle unterstützt werden.
DB2 als Quelle
Beim Kopieren von Daten aus DB2 werden die folgenden Eigenschaften im Abschnitt source der Kopieraktivität unterstützt:
| Eigenschaft | Beschreibung | Erforderlich |
|---|---|---|
| Typ | Die type-Eigenschaft der Quelle der Kopieraktivität muss auf Folgendes festgelegt werden: Db2Source | Ja |
| Abfrage | Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. Beispiel: "query": "SELECT * FROM \"DB2ADMIN\".\"Customers\"". |
Nein (wenn „tableName“ im Dataset angegeben ist) |
Beispiel:
"activities":[
{
"name": "CopyFromDB2",
"type": "Copy",
"inputs": [
{
"referenceName": "<DB2 input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "Db2Source",
"query": "SELECT * FROM \"DB2ADMIN\".\"Customers\""
},
"sink": {
"type": "<sink type>"
}
}
}
]
Wenn Sie eine Quelle vom Typ RelationalSource verwenden, wird sie weiterhin unverändert unterstützt. Es wird jedoch empfohlen, zukünftig die neue Version zu verwenden.
Datentypzuordnung für DB2
Beim Kopieren von Daten aus DB2 werden die folgenden Zuordnungen von DB2-Datentypen zu den vom Dienst intern verwendeten Zwischendatentypen verwendet. Unter Schema- und Datentypzuordnungen erfahren Sie, wie Sie Aktivitätszuordnungen für Quellschema und Datentyp in die Senke kopieren.
| Typ "DB2-Datenbank" | Zwischendatentyp des Diensts |
|---|---|
| BigInt | Int64 |
| Binär | Byte[] |
| Blob | Byte[] |
| Char | String |
| Clob | String |
| Datum | Datum-Zeit |
| DB2DynArray | String |
| DbClob | String |
| Dezimal | Dezimal |
| DecimalFloat | Dezimal |
| Double | Double |
| Float | Double |
| Grafik | String |
| Integer | Int32 |
| LongVarBinary | Byte[] |
| LongVarChar | String |
| LongVarGraphic | String |
| Numerisch | Dezimal |
| Real | Single |
| SmallInt | Int16 |
| Zeit | TimeSpan |
| Zeitstempel | DatumZeit |
| VarBinary | Byte[] |
| VarChar | String |
| VarGraphic | String |
| Xml | Byte[] |
Eigenschaften der Lookup-Aktivität
Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.
Zugehöriger Inhalt
Eine Liste der Datenspeicher, die als Quellen und Senken für die Kopieraktivität unterstützt werden, finden Sie unter Unterstützte Datenspeicher.