Wie bekomme ich bloß meine Daten aus MS Access in mein Data Warehouse?
Fürs erste habe ich sie mühsam in eine CSV-Datei exportiert, um sie mit dem Dateiimportoperator in die dafür vorgesehen DB2-Datenbank zu importieren.
Um das ganze aber weniger händisch betreiben zu können, hatte ich vor, nach einer
JDBC-ODBC-Bridge zu googlen. Aber auch das wäre viel zu kompliziert gewesen. Martin erinnerte mich daran, dass DB2-Tabellenfunktionen auch OLEDB unterstützen.
Die Umsetzung dauerte dann nur einige Minuten: In der DB2 Entwicklungszentrale mit dem Assistenten eine OLEDB-Tabellenfunktion erstellen und diese dann im DWE Design Studio mittels des Tebellenfunktionsoperators zum Ausgangspunkt eines Datenfluss machen.
Es geht sogar noch etwas einfacher.
Der Entwicklungsassistent bietet zum Abschluss noch einen besonderen Service: Er erstellt bei Bedarf noch einen View. Diesen View kann im Design Studio als Quell-Tabelle für einen Datenfluss verwendet werden. Einfach und elegant.
Der Purist schreibt natürlich das CREATE FUNCTION Statement in den Befehlszeilenprozessor - ohne all den graphischen Schnick-Schnack:
CREATE FUNCTION FromAccess(cmd VARCHAR (700)) RETURNS TABLE ("ABRNR" INTEGER, "MKURZ" VARCHAR(20), ...) LANGUAGE OLEDB EXTERNAL NAME '!!Provider=Microsoft.Jet.OLEDB.4.0; Data Source=... .mdb; User ID=Admin;Password=;'
Den View erstellt unser Purist umgehend mit
CREATE VIEW ViewAccess AS (SELECT * FROM TABLE( FromAccess ('select * from AccessTabelle')))
Einen nicht zu unterschätzenden Service hat mir der Assistent noch geliefert: Er hat alle Namen mit kleinen Buchstaben in Großschreibung umgesetzt.
Diese Lösung ist einfacher, sicherer, eleganter, intuitiver und performt auch noch besser.
Was will ich mehr?
MS Access komplett loswerden.