Für die besonderen Fälle: ODBC lebt
Für einige weniger verbreiteten Datenbanken stehen entweder
gar keine oder nicht immer funktionsfähige OLE-DB Treiber zur Verfügung.
Häufig ist aber noch nichts verloren: Die gute alte ODBC
Schnittstelle ist
in diesen Fällen oft der Ausweg.
Integration Services unterstützen auch ODBC Datenquellen. Wenn die Daten über die ODBC Schnittstelle geschrieben werden sollen, dann unterstützt Sie Microsoft nicht. Deshalb ist Handarbeit in Form eines Scriptdatenziels notwendig. Damit SSIS die ODBC Verbindung nutzen kann muss der
entsprechende ODBC Treiber auf jeder Maschine installiert sein, auf der das
Paket ausgeführt wird.
Bitte denken Sie nicht
nur an die Entwicklungsumgebung sondern auch an die Maschinen, auf denen das
Paket produktiv ausgeführt werden soll.
In SSIS ist es ohne weiteres möglich, auf Datenquellen mit
Hilfe von ODBC zuzugreifen. Allerdings ist diese Möglichkeit nicht ganz
einfach zu finden. Es gibt zwei Wege um einen ODBC Verbindungs-Manager zu
erstellen.
Entweder wird ein Verbindungs-Manager vom Type ODBC oder ADO.NET ausgewählt. Im Ergebnis sind beide Wege gleichwertig. So gehen Sie Schritt für Schritt vor:
Im Fenster Verbindungs-Manager über die rechte Maustaste
Neue Verbindung auswählen. Den Punkt ADO.NET-Verbindung finden Sie
als dritten Eintrag von oben. Über die Auswahl Neue Verbindung
erreichen Sie eine weitere Auswahlmöglichkeit, die auch ODBC anbietet.
In der Regel ist es sinnvoll, nicht auf eine gespeicherte Datenquellenspezifikation zu zugreifen. Erstellen Sie am besten eine ODBC Verbindung in Form einer neuen Datei (dsn). Die Daten werden in das Paket komplett übernommen. Die DSN-Datei ist danach nicht mehr notwendig und kann gelöscht werden. Auf dem System, auf dem das Paket ausgeführt wird, muss nur der entsprechende ODBC Treiber als Infrastruktur vorhanden sein.
Die nächsten Schritte sollten keine Probleme bereiten. Allerdings müssen Sie wissen, wie der jeweilige ODBC Treiber konfiguriert wird. Diese Informationen sind individuell für jeden ODBC Treiber. Für das Beispiel greife ich über ODBC auf den SQL Server 2005 zu. Das sollten Sie in der Praxis nicht machen, da die wesentlich leistungsfähige Verbindung über OLE-DB zur Verfügung steht. Soll die ODBC Datenquelle im Datenfluss verwendet werden, so kann nur die DataReader-Quelle verwendet werden. Beim Verbindungs-Manager wird der ADO-Verbindungs-Manager bzw. der ODBC Verbindungs-Manager auf dem Reiter Verbindungs-Manager ausgewählt. Eventuell vorhandene OLE-DB- Verbindungs-Manager werden in der Auswahlbox gar nicht angezeigt.
In dem Beispiel werden die Daten im Datenfluss nicht weiter bearbeitet sondern sofort wieder über den ODBC-Verbindungs-Manager in die Datenbank geschrieben. Bei SSIS ist zur Zeit kein Datenziel für ODBC-Verbindungen vorhanden. Deshalb muss eine Scriptkomponente als Datenziel erstellt werden. Wird die Scriptkomponente in den Datenfluss gezogen, erscheint eine
Auswahlmöglichkeit, was mit dieser Scriptkomponente gemacht werden soll. Bitte
wählen Sie Ziel aus. Beim Script gibt es mehrere Punkte die wichtig sind: Bitte kodieren Sie keine Verbindungsinformation direkt in den Kode. Genau für Verbindungsinformation gibt es Verbindungs-Manager die auch leicht von außen konfiguriert werden können. Damit der Kode funktionieren kann ist es wichtig, dass wir wissen, wann welcher Event bzw. Kode ausgeführt wird. Die Reihenfolge ist
In jedem dieser Events wird Kode hinterlegt damit jeder einzelne Datensatz in die Datenbank geschrieben werden kann. Den Kode finden Sie hier. Bei den Demodaten kommen in den Spalten auch NULL-Werte vor; diese werden besonders behandelt.
Das Demopaket finden Sie
hier. | |
| Komponentenindex:
erstellt 28.5.2006 |