ODBC-Flusskomponenten
Gilt für:SQL Server SSIS Integration Runtime in Azure Data Factory
In diesem Artikel werden die erforderlichen Konzepte zum Erstellen eines ODBC-Datenflusses mit SQL Server 2019 Integration Services (SSIS) beschrieben.
Der Connector für Open Database Connectivity (ODBC) für SQL Server 2019 Integration Services (SSIS) ermöglicht SSIS-Entwickler*innen ein einfaches Erstellen von Paketen, mit denen Daten aus Datenbanken mit ODBC-Unterstützung geladen bzw. entladen werden.
Der ODBC-Connector ist auf optimale Leistung beim Laden bzw. Entladen von Daten in eine bzw. aus einer Datenbank mit ODBC-Unterstützung im Zusammenhang mit SQL Server 2019 Integration Services (SSIS) ausgelegt.
Vorteile
Die ODBC-Quelle und das ODBC-Ziel für SQL Server 2019 Integration Services (SSIS) bieten für SSIS einen Wettbewerbsvorteil in Projekten, die sich mit dem Laden bzw. Entladen von Daten in Datenbanken mit ODBC-Unterstützung befassen.
Sowohl für die ODBC-Quelle als auch für das ODBC-Ziel ist eine Datenintegration in Datenbanken mit ODBC-Aktivierung bei hoher Leistung möglich. Beide Komponenten können für die Verwendung mit Zeile-für-Zeile-Parameterarraybindungen für ODBC-Anbieter mit hoher Leistung konfiguriert werden, die diesen Bindungsmodus unterstützen, sowie für die Verwendung mit Einzelzeilen-Parameterbindungen für ODBC-Anbieter mit niedriger Leistung.
Erste Schritte mit der ODBC-Quelle und dem ODBC-Ziel
Bevor Sie Pakete einrichten können, die SQL Server 2019 Integration Services (SSIS) verwenden, müssen Sie die Verfügbarkeit der folgenden Elemente sicherstellen.
Die ODBC-Quelle und das ODBC-Ziel stellen eine einfache Möglichkeit dar, Daten zu entladen und zu laden und aus einer Quelldatenbank mit ODBC-Unterstützung in eine Zieldatenbank mit ODBC-Unterstützung zu übertragen.
Um die Quelle oder das Ziel zum Laden oder Entladen von Daten zu verwenden, öffnen Sie ein neues SQL Server 2019 Integration Services-Projekt (SSIS) in SQL Server Data Tools. Ziehen Sie dann die Quelle oder das Ziel auf die Entwurfsoberfläche von SQL Server Data Tools.
- Die ODBC-Quellkomponente liest Daten aus der Quelldatenbank mit ODBC-Unterstützung.
Sie können die ODBC-Quelle mit jedem Ziel oder jeder von SSIS unterstützten Transformationskomponente verbinden.
Weitere Informationen:
ODBC-Quelle
Quellen-Editor für ODBC (Seite Verbindungs-Manager)
Quellen-Editor für ODBC (Seite Fehlerausgabe)
- Das ODBC-Ziel lädt Daten in eine Datenbank mit ODBC-Unterstützung. Sie können das Ziel mit jeder Quelle oder jeder von SSIS unterstützten Transformationskomponente verbinden.
Weitere Informationen:
ODBC-Ziel
Ziel-Editor für ODBC (Verbindungs-Manager-Seite)
Ziel-Editor für ODBC (Seite "Fehlerausgabe")
Betriebsszenarien
In diesem Abschnitt werden einige Hauptverwendungsarten von ODBC-Quell- und -Zielkomponenten beschrieben.
Massenkopieren von Daten aus SQL Server-Tabellen in beliebige Datenbanktabellen mit ODBC-Unterstützung
Sie können die Komponenten verwenden, um für Daten Massenkopieren aus einer oder mehreren SQL Server-Tabellen in eine einzelne Datenbanktabelle mit ODBC-Unterstützung durchzuführen.
Im folgenden Beispiel wird gezeigt, wie Sie einen SSIS-Datenflusstask erstellen, mit dem Daten aus einer SQL Server-Tabelle extrahiert und in eine DB2-Tabelle geladen werden.
Erstellen Sie ein SQL Server 2019 Integration Services-Projekt (SSIS) in SQL Server Data Tools.
Erstellen Sie einen OLE DB-Verbindungs-Manager, der eine Verbindung mit der SQL Server-Datenbank herstellt, in der die zu kopierenden Daten enthalten sind.
Erstellen Sie einen ODBC-Verbindungs-Manager, der einen lokal installierten DB2 ODBC-Treiber mit einem DSN verwendet, der auf eine lokale DB2-Datenbank oder DB2-Remotedatenbank verweist. In diese Datenbank werden die Daten aus der SQL Server-Datenbank geladen.
Ziehen Sie eine OLE DB-Quelle auf die Entwurfsoberfläche. Konfigurieren Sie dann die Quelle, um die Daten aus der SQL Server-Datenbank und der Tabelle mit den Daten abzurufen, die Sie extrahieren möchten. Verwenden Sie den OLE DB-Verbindungs-Manager, den Sie zuvor erstellt haben.
Ziehen Sie ein ODBC-Ziel auf die Entwurfsoberfläche, verbinden Sie die Quellausgabe mit dem ODBC-Ziel, und konfigurieren Sie dann das Ziel, um die Daten in die DB2-Tabelle mit den Daten zu laden, die Sie aus der SQL Server-Datenbank extrahieren. Verwenden Sie den ODBC-Verbindungs-Manager, den Sie zuvor erstellt haben.
Massenkopieren von Daten aus Datenbanktabellen mit ODBC-Unterstützung in beliebige SQL Server-Tabellen
Sie können die Komponenten verwenden, um für Daten Massenkopieren aus einer oder mehreren Datenbanktabellen mit ODBC-Unterstützung in eine einzelne SQL Server-Datenbanktabelle durchzuführen.
Im folgenden Beispiel wird gezeigt, wie Sie einen SSIS-Datenflusstask erstellen, bei dem Daten aus einer Sybase-Datenbanktabelle extrahiert und in eine SQL Server-Datenbanktabelle geladen werden.
Erstellen Sie ein SQL Server 2019 Integration Services-Projekt (SSIS) in SQL Server Data Tools.
Erstellen Sie einen ODBC-Verbindungs-Manager, der einen lokal installierten Sybase ODBC-Treiber mit einem DSN verwendet, der auf eine lokale Sybase-Datenbank oder Sybase-Remotedatenbank verweist. Die Daten werden in diese Datenbank extrahiert.
Erstellen Sie einen OLE DB-Verbindungs-Manager, der eine Verbindung mit der SQL Server-Datenbank herstellt, in die Sie die Daten laden möchten.
Ziehen Sie eine ODBC-Quelle in die Entwurfsoberfläche. Konfigurieren Sie anschließend die Quelle, um die zu kopierenden Daten aus der entsprechenden Sybase-Tabelle abzurufen. Verwenden Sie den ODBC-Verbindungs-Manager, den Sie zuvor erstellt haben.
Ziehen Sie ein OLE DB-Ziel auf die Entwurfsoberfläche, verbinden Sie die Quellausgabe mit dem OLE DB-Ziel, und konfigurieren Sie dann das Ziel, um die Daten in die SQL Server-Tabelle mit den Daten zu laden, die Sie aus der Sybase-Datenbank extrahieren. Verwenden Sie den OLE DB-Verbindungs-Manager, den Sie zuvor erstellt haben.
Unterstützte Datentypen
Die SSIS-Komponenten für ODBC-Massenvorgänge unterstützen alle integrierten ODBC-Datentypen sowie große Objekte (CLOBs und BLOBs).
Es ist keine Datentypunterstützung für erweiterbare C-Typen vorhanden, die in der ODBC 3.8-Spezifikation beschrieben werden.In der folgenden Tabelle wird beschrieben, welche SSIS-Datentypen für die einzelnen ODBC-SQL-Typen verwendet werden. Ein SSIS-Entwickler kann die Standardzuordnung überschreiben und einen anderen SSIS-Datentyp für Eingabe-/Ausgabespalten angeben, ohne dass sich dies auf die Leistung für die erforderlichen Datenkonvertierungen auswirkt.
ODBC-SQL-Typ | SSIS-Datentyp | Kommentare |
---|---|---|
SQL_BIT | DT_BOOL | |
SQL_TINYINT | DT_I1 DT_UI1 |
SQL-Datentypen werden SSIS-Typen ohne Vorzeichen zugeordnet (DT_UI1, DT_UI2, DT_UI4, DT_UI8), wenn der ODBC-Treiber UNSIGNED_ATTRIBUTE für diesen SQL-Datentyp auf SQL_TRUE festlegt. |
SQL_SMALLINT | DT_I2 DT_UI2 |
SQL-Datentypen werden SSIS-Typen ohne Vorzeichen zugeordnet (DT_UI1, DT_UI2, DT_UI4, DT_UI8), wenn der ODBC-Treiber UNSIGNED_ATTRIBUTE für diesen SQL-Datentyp auf SQL_TRUE festlegt. |
SQL_INTEGER | DT_I4 DTUI4 |
SQL-Datentypen werden SSIS-Typen ohne Vorzeichen zugeordnet (DT_UI1, DT_UI2, DT_UI4, DT_UI8), wenn der ODBC-Treiber UNSIGNED_ATTRIBUTE für diesen SQL-Datentyp auf SQL_TRUE festlegt. |
SQL_BIGINT | DT_I8 DT_UI8 |
SQL-Datentypen werden SSIS-Typen ohne Vorzeichen zugeordnet (DT_UI1, DT_UI2, DT_UI4, DT_UI8), wenn der ODBC-Treiber UNSIGNED_ATTRIBUTE für diesen SQL-Datentyp auf SQL_TRUE festlegt. |
SQL_DOUBLE | DT_R8 | |
SQL_FLOAT | DT_R8 | |
SQL_REAL | DT_R4 | |
SQL_NUMERIC (p,s) | DT_NUMERIC (p,s) | Der numerische Datentyp wird DT_NUMERIC zugeordnet, wenn Folgendes gilt: P ist größer oder gleich 38, S ist größer oder gleich 0 und S ist kleiner oder gleich P. |
DT_R8 | Der numerische Datentyp wird DT_R8 zugeordnet, wenn mindestens eine der folgenden Bedingungen erfüllt ist: Genauigkeit ist größer als 38 Skalierung ist kleiner als 0 (null) Skalierung ist größer als 38 Skalierung ist größer als Genauigkeit |
|
DT_CY | Der numerische Datentyp wird DT_CY zugeordnet, wenn er als money-Datentyp deklariert wird. | |
SQL_DECIMAL (p,s) | DT_NUMERIC (p,s) | Der decimal-Datentyp wird DT_NUMERIC zugeordnet, wenn Folgendes gilt: P ist größer oder gleich 38, S ist größer oder gleich 0 und S ist kleiner oder gleich P. |
DT_R8 | Der decimal-Datentyp wird DT_R8 zugeordnet, wenn mindestens eine der folgenden Bedingungen erfüllt ist: Genauigkeit ist größer als 38 Skalierung ist kleiner als 0 (null) Skalierung ist größer als 38 Skalierung ist größer als Genauigkeit |
|
DT_CY | Der decimal-Datentyp wird DT_CY zugeordnet, wenn er als money-Datentyp deklariert wird. | |
SQL_DATE SQL_TYPE_DATE |
DT_DBDATE | |
SQL_TIME SQL_TYPE_TIME |
DT_DBTIME | |
SQL_TIMESTAMP SQL_TYPE_TIMESTAMP |
DT_DBTIMESTAMP DT_DBTIMESTAMP2 |
„SQL_TIMESTAMP“-Datentypen werden „DT_DBTIMESTAMP2“ zugeordnet, wenn die Skalierung größer als 3 ist. In allen anderen Fällen werden sie DT_DBTIMESTAMP zugeordnet. |
SQL_CHAR SQLVARCHAR |
DT_STR DT_WSTR DT_TEXT DT_NTEXT |
DT_STR wird verwendet, wenn die Spaltenlänge kleiner oder gleich 8000 ist und die ExposeStringsAsUnicode -Eigenschaft den Wert „false“ aufweist. DT_WSTR wird verwendet, wenn die Spaltenlänge kleiner oder gleich 8000 ist und die ExposeStringsAsUnicode -Eigenschaft den Wert „true“ aufweist. DT_TEXT wird verwendet, wenn die Spaltenlänge größer als 8000 ist und die ExposeStringsAsUnicode -Eigenschaft den Wert „false“ aufweist. DT_NTEXT wird verwendet, wenn die Spaltenlänge größer als 8000 ist und die ExposeStringsAsUnicode -Eigenschaft den Wert „true“ aufweist. |
SQL_LONGVARCHAR | DT_TEXT DT_NTEXT |
DT_NTEXT wird verwendet, wenn die ExposeStringsAsUnicode -Eigenschaft den Wert „true“ aufweist. |
SQL_WCHAR SQL_WVARCHAR |
DT_WSTR DT_NTEXT |
DT_WSTR wird verwendet, wenn die Spaltenlänge kleiner oder gleich 4000 ist. DT_NTEXT wird verwendet, wenn die Spaltenlänge größer als 4000 ist. |
SQL_WLONGVARCHAR | DT_NTEXT | |
SQL_BINARY | DT_BYTE DT_IMAGE |
DT_BYTES wird verwendet, wenn die Spaltenlänge kleiner oder gleich 8000 ist. DT_IMAGE wird verwendet, wenn die Spaltenlänge größer als 8000 ist. |
SQL_LONGVARBINARY | DT_IMAGE | |
SQL_GUID | DT_GUID | |
SQL_INTERVAL_YEAR SQL_INTERVAL_MONTH SQL_INTERVAL_DAY SQL_INTERVAL_HOUR SQL_INTERVAL_MINUTE SQL_INTERVAL_SECOND SQL_INTERVAL_YEAR_TO_MONTH SQL_INTERVAL_DAY_TO_HOUR SQL_INTERVAL_DAY_TO_MINUTE SQL_INTERVAL_DAY_TO_SECOND SQL_INTERVAL_HOUR_TO_MINUTE SQL_INTERVAL_HOUR_TO_SECOND SQL_INTERVAL_MINUTE_TO_SECOND |
DT_WSTR | |
Anbieterspezifische Datentypen | DT_BYTES DT_IMAGE |
DT_BYTES wird verwendet, wenn die Spaltenlänge kleiner oder gleich 8000 ist. DT_IMAGE wird verwendet, wenn die Spaltenlänge 0 (null) oder größer als 8000 ist. |
In diesem Abschnitt
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für