28.05.2002

DTS-Komponenten

Theoretisch kann man beim Kopieren von Tabellen bestimmte Werte veraendern, also transformieren. Als Beispiel sei genannt, dass es zwei Orte in Deutschland gibt, die beide Frankfurt heissen. Allerdings mit unterschiedlicher Vorwahl. So kann man als Transformationsaufgabe folgendes Prinzip setzen:

Setze an alle Frankfurts mit der Vorwahl 069 '/M' dahinter! Kopiere alle Daten in eine andere Tabelle. Allerdings muss das Frankfurt auch richtig gechrieben sein! Man sieht zum Beispiel nicht auf Anhieb, dass sich hinter einem Frankfurt ein Leerzeichen verbergen koennte. Es gibt noch weitere kleine Probleme, die auftauchen koennen, allerdings geht es hier erstmal nur ums Grundprinzip von Transfers.

Quellen zum Datenimport:
Excel-Tabellen
Datenbanken (Standard SQL)
Textdateien

Bei Textdateien redet man im allgemeinen von statischen Daten, waehrend SQL-Daten veraenderliche Daten sind. Beim Import sollte man folgende Schritte beachten:

Am Donnerstag fahren wir nach Reinbek, um uns ein Projekt anzuschauen, bei dem es unter anderem um Integration in W2k ging. Info's darueber: fisecure.net oder fisicure.net

Datentransformationstools:
Der DTS ist ein grafisches Tool und kann als Assistent im Im- und Export helfen, sowohl als Designer zur Verfuegung stehen. Weiterhin kann er Metadaten(Grunddaten wie Spaltentypen, Zugriffe, etc.) verarbeiten.
OSQL - ein DOS-Tool
BCP - Bulk Copy Programm, laeuft auf Basis vom DOS und arbeitet aehnlich wie OSQL. Allerdings ist der Einsatz etwas beschraenkter als der DTS und arbeitet in zwei Schritten. Es kann sowohl aus einer Datenbank Informationen zu einer CSV-Datei auslesen. Erst im zweiten Schritt werden die Daten wieder importiert. Dieses Programm benoetigt also ein Zwischenspeichermedium, welches extra abgesichert werden muss.
BulkInsert - ist ein TSQL-Befehl, arbeitet aber aehnlich wie das BCP. Allerdings mit dem Vorteil, dass es die OLE-Schnittstelle nutzen kann.

Zum arbeiten mit dem DTS benoetigt man auf jeden Fall eine gueltige Datenquelle und auch ein gueltiges Datenziel. Dazwischen stehen verschiedene Verbindungstypen. Zum Einsatz dafuer kommen Standard(Microsoft)-Datenbanken wie Excel-Tabellen, HTML-Quellen, OLE-DB-Provider und Access. Ein weiterer Verbindungstyp ist die Dateiverbindung zur Verbindung von Textdateien. Eine Weitere, naemlich die DLC(Data Link Connection) arbeitet allerdings mit Zwischendateien mit der Endung .udl . Die DLC ist eine der sicheren Verbindungen; sie ist eine reine Microsoft-Entwicklung.
Verbindungstypen Nutzen
Standard(Microsoft)-Datenbanken Excel-Tabellen, HTML-Quellen, OLE-DB-Provider und Access
Dateiverbindung Textdateien
DLC(Data Link Connection) Zwischendateien mit der Endung .udl

DTS-Tasks
Es gibt zwei Hauptgruppen, spezielle(sequentielle) und parallele.
speziell(sequentiell)Es besteht eine Abhaengigkeit der Tasks untereinander
parallelAusfuehrung unabhaengig voneinander

Das heisst aber auch, das spezielle Tasks sich nach einem Workflow richten. Um Untertasks ablaufen zu lassen, gibt es die Bedingung bei Fehler, bei Erfolg oder bei Beendigung. Das Ganze verlaeuft wie eine Batch. Der Beendigungstask laeuft immer ab, sobald der vorhergehende Task beendet wurde, wie, das ist egal. Die anderen beiden Tasks laufen nur bei der jew. Bedingung ab.
Als Transformationstypen gibt es:

Man kann letztendlich die Verbindungstypen, Transformationsvorgaenge und Tasks in fertige Pakete schnueren und speichern. Und zwar einmal innerhalb des jew. SQL-Servers, von wo es auch nur lokal abrufbar ist, einmal unter den MetaDataServices, und zwar in einer Repository-Datenbank, einmal als VisualBasic-Code oder einmal als strukturierte Speicherdatei, welche in Betriebssystemdateien gespeichert wird. In den letzten beiden Versionen bin ich nicht mehr von dem jew. Server abhaengig. In allen vier Versionen kann man Kennwoerter vergeben, sogar getrennt fuer Ausfuehrung und Veraenderung.