Freigeben über


Kopieren von Daten aus und in ODBC-Datenspeicher mit Azure Data Factory oder Synapse Analytics

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

In diesem Artikel wird beschrieben, wie Sie die Kopieraktivität in Azure Data Factory verwenden, um Daten aus einem bzw. in einen ODBC-Datenspeicher 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 ODBC-Connector werden die folgenden Funktionen unterstützt:

Unterstützte Funktionen IR
Kopieraktivität (Quelle/Senke)
Lookup-Aktivität

① Azure Integration Runtime ② Selbstgehostete Integration Runtime

Eine Liste der Datenspeicher, die als Quellen/Senken unterstützt werden, finden Sie in der Tabelle Unterstützte Datenspeicher.

Dieser ODBC-Connector unterstützt insbesondere das Kopieren von Daten aus ODBC-kompatiblen Datenspeichern bzw. in diese mithilfe der Standard- oder anonymen Authentifizierung. Ein 64-Bit-ODBC-Treiber ist erforderlich. Für ODBC-Senken unterstützt der Dienst den ODBC-Standard Version 2.0.

Voraussetzungen

Führen Sie zum Verwenden dieses ODBC-Connectors diese Schritte aus:

  • Richten Sie eine selbstgehostete Integration Runtime ein. Im Artikel Selbstgehostete Integration Runtime finden Sie Details.
  • Installieren Sie den 64-Bit-ODBC-Treiber für den Datenspeicher auf dem Integration Runtime-Computer.

Erste Schritte

Sie können eines der folgenden Tools oder SDKs verwenden, um die Kopieraktivität mit einer Pipeline zu verwenden:

Erstellen eines verknüpften Dienstes mit einem ODBC-Datenspeicher über die Benutzeroberfläche

Verwenden Sie die folgenden Schritte, um einen verknüpften Dienst mit einem ODBC-Datenspeicher in der Benutzeroberfläche des Azure-Portals zu erstellen.

  1. Navigieren Sie in Ihrem Azure Data Factory- oder Synapse-Arbeitsbereich zu der Registerkarte „Verwalten“, wählen Sie „Verknüpfte Dienste“ aus und klicken Sie dann auf „Neu“:

  2. Suchen Sie nach ODBC und wählen Sie den ODBC-Connector aus.

    Screenshot vom ODBC-Connectors.

  3. Konfigurieren Sie die Dienstdetails, testen Sie die Verbindung, und erstellen Sie den neuen verknüpften Dienst.

    Screenshot von der Konfiguration des verknüpften Diensts für einen ODBC Datenspeicher.

Details zur Connector-Konfiguration

Die folgenden Abschnitte enthalten Details zu Eigenschaften, die zum Definieren von Data Factory-Entitäten speziell für den ODBC-Connector verwendet werden:

Eigenschaften des verknüpften Diensts

Folgende Eigenschaften werden für den mit ODBC verknüpften Dienst unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft muss auf Folgendes festgelegt werden: Odbc Ja
connectionString Die Verbindungszeichenfolge, ausgenommen des Teils mit den Anmeldeinformationen. Sie können die Verbindungszeichenfolge mit einem Muster wie Driver={SQL Server};Server=Server.database.windows.net; Database=TestDatabase; angeben oder den System-DSN (Data Source Name) verwenden, den Sie mit DSN=<name of the DSN on IR machine>; auf dem Computer mit der Integrationslaufzeit eingerichtet haben. (Sie müssen nach wie vor den Teil mit den Anmeldeinformationen im verknüpften Dienst entsprechend angeben.)
Sie können auch ein Kennwort in Azure Key Vault speichern und die password-Konfiguration aus der Verbindungszeichenfolge pullen. Ausführlichere Informationen finden Sie unter Speichern von Anmeldeinformationen in Azure Key Vault.
Ja
authenticationType Typ der Authentifizierung für die Verbindung mit dem ODBC-Datenspeicher.
Zulässige Werte sind: Standard und Anonym.
Ja
userName Geben Sie den Benutzernamen an, wenn Sie die Standardauthentifizierung (Basic) verwenden. Nein
password Geben Sie das Kennwort für das Benutzerkonto an, das Sie für „userName“ angegeben haben. Markieren Sie dieses Feld als einen „SecureString“, um es sicher zu speichern, oder verweisen Sie auf ein in Azure Key Vault gespeichertes Geheimnis. Nein
Anmeldeinformationen (credential) Der zum Zugriff bestimmte Teil der Anmeldeinformationen in der Verbindungszeichenfolge. Er wird in einem treiberspezifischen Format in Eigenschaft und Wert angegeben. Beispiel: "RefreshToken=<secret refresh token>;". Legen Sie für dieses Feld „SecureString“ fest. Nein
connectVia Die Integrationslaufzeit, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet werden muss. Eine selbstgehostete Integrationslaufzeit ist erforderlich, wie unter Voraussetzungen erwähnt wird. Ja

Beispiel 1: Verwenden der Standardauthentifizierung

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Basic",
            "userName": "<username>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

Beispiel 2: Verwenden der anonymen Authentifizierung

{
    "name": "ODBCLinkedService",
    "properties": {
        "type": "Odbc",
        "typeProperties": {
            "connectionString": "<connection string>",
            "authenticationType": "Anonymous",
            "credential": {
                "type": "SecureString",
                "value": "RefreshToken=<secret refresh token>;"
            }
        },
        "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 ODBC-Dataset unterstützt werden.

Zum Kopieren von Daten aus einem bzw. in einen ODBC-kompatiblen Datenspeicher werden die folgenden Eigenschaften unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft des Datasets muss auf folgenden Wert festgelegt werden: OdbcTable Ja
tableName Der Name der Tabelle im ODBC-Datenspeicher. Nein bei Quellen (wenn „query“ in der Aktivitätsquelle angegeben ist);
ja bei Senken

Beispiel

{
    "name": "ODBCDataset",
    "properties": {
        "type": "OdbcTable",
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<ODBC linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "tableName": "<table name>"
        }
    }
}

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 ODBC-Quelle unterstützt werden.

ODBC als Quelle

Zum Kopieren von Daten aus einem ODBC-kompatiblen Datenspeicher werden die folgenden Eigenschaften im Abschnitt source der Kopieraktivität unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft der Quelle der Kopieraktivität muss auf Folgendes festgelegt werden: OdbcSource Ja
Abfrage Verwendet die benutzerdefinierte SQL-Abfrage zum Lesen von Daten. Beispiel: "SELECT * FROM MyTable". Nein (wenn „tableName“ im Dataset angegeben ist)

Beispiel:

"activities":[
    {
        "name": "CopyFromODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<ODBC input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "OdbcSource",
                "query": "SELECT * FROM MyTable"
            },
            "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.

ODBC als Senke

Legen Sie zum Kopieren von Daten in ODBC-kompatible Datenspeicher den Senkentyp in der Kopieraktivität auf OdbcSink fest. Folgende Eigenschaften werden im Abschnitt sink der Kopieraktivität unterstützt:

Eigenschaft Beschreibung Erforderlich
type Die type-Eigenschaft der Senke der Kopieraktivität muss auf Folgendes festgelegt sein: OdbcSink Ja
writeBatchTimeout Die Wartezeit für den Abschluss der Batcheinfügung, bis das Timeout wirksam wird.
Zulässige Werte: Zeitraum Beispiel: „00:30:00“ (30 Minuten).
Nein
writeBatchSize Fügt Daten in die SQL-Tabelle ein, wenn die Puffergröße "writeBatchSize" erreicht.
Zulässige Werte: Ganze Zahlen (Anzahl der Zeilen).
Nein (Standard ist 0 – automatisch erkannt)
preCopyScript Geben Sie eine auszuführende SQL-Abfrage für die Kopieraktivität an, ehe Sie bei der jeder Ausführung Daten in Datenspeicher schreiben. Sie können diese Eigenschaft nutzen, um die vorab geladenen Daten zu bereinigen. Nein

Hinweis

Wenn „writeBatchSize“ nicht festgelegt (automatisch erkannt) wird, erkennt die Kopieraktivität zuerst, ob der Treiber Batchvorgänge unterstützt. Falls ja, wird die Anzahl der Batchvorgänge auf „10.000“ festgelegt, falls nicht auf „1“. Wenn Sie explizit einen Wert ungleich „0“ festlegen, berücksichtigt die Kopieraktivität den Wert. Zur Laufzeit tritt ein Fehler auf, wenn der Treiber Batchvorgänge nicht unterstützt.

Beispiel:

"activities":[
    {
        "name": "CopyToODBC",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<ODBC output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "OdbcSink",
                "writeBatchSize": 100000
            }
        }
    }
]

Eigenschaften der Lookup-Aktivität

Ausführliche Informationen zu den Eigenschaften finden Sie unter Lookup-Aktivität.

Behandeln von Konnektivitätsproblemen

Um Verbindungsprobleme zu behandeln, verwenden Sie die Registerkarte Diagnose im Konfigurations-Manager für die Integrationslaufzeit.

  1. Starten Sie den Konfigurations-Manager für die Integrationslaufzeit.
  2. Wechseln Sie zur Registerkarte Diagnose .
  3. Wählen Sie im Abschnitt „Verbindung testen“ den Typ des Datenspeichers (verknüpfter Dienst).
  4. Geben Sie die Verbindungszeichenfolge an, die zum Herstellen einer Verbindung mit dem Datenspeicher verwendet wird, wählen Sie die Authentifizierung aus, und geben Sie Benutzername, Kennwort und/oder Anmeldeinformationen ein.
  5. Klicken Sie auf Verbindung testen , um die Verbindung mit dem Datenspeicher zu testen.

Eine Liste der Datenspeicher, die als Quelles und Senken für die Kopieraktivität unterstützt werden, finden Sie in der Dokumentation für Unterstützte Datenspeicher.