Suchen...
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

CubeWizard und Schnittstellen

Wenn der Vater mit dem Sohne…
mit DeltaMaster und CubeWizard unterwegs

Kürzlich führte Yammer ein Interview mit CubeWizard zu seiner Beziehung mit SAP HANA. (Danke an STE für die witzige Form Inhalte zu transportieren!) SAP HANA ist sicher eine besondere Preziose in diesem Umfeld – aber wer genau mitlas, konnte einen kleinen Einblick in die komplexe Schnittstellenmaterie erhalten.

Auch die „Brot-und-Butter“-Schnittstellen für unser Doppel DeltaMaster und CubeWizard – die Schnittstellen zu den Analysis Services von Microsoft – können dem Anwender hin und wieder wie die berüchtigten „böhmischen Dörfer“ vorkommen.

Was muss man also tun, um seinen Anwendern die schnelle Analyse unterwegs zu ermöglichen, ohne auf Zugänge zu Netzwerken und Datenbanken angewiesen zu sein?

Der richtige Treiber für den richtigen Zweck

Vorab: Man muss in jedem Fall auch die Variante von DeltaMaster in die Betrachtung einbeziehen. Es macht nämlich einen Unterschied, ob man DeltaMaster in der x86- oder in der x64-Variante betreibt – die Treiber müssen hierzu korrespondieren.

Wir bekommen immer wieder die Frage gestellt, welchen Treiber man denn nun für welchen Zweck benötigt.

Die folgende Übersicht klärt auf:

  • ADOMD-Treiber Lesen in SSAS-Datenbanken,
  • AMO-Treiber Erstellung der relationalen Anbindung
  • OLEDB-Provider Schreiben in SSAS-Datenbanken

DeltaMaster weist uns und unsere Kunden bei der Einrichtung eines neuen Analysemodells immer auf die „installierte“ Version des ADOMD.NET-Treibers hin:

OLAP-Provider
Abbildung 1 OLAP-Provider

Die obige Formulierung ist natürlich mit einem Augenzwinkern zu verstehen, da DeltaMaster natürlich die verwendete Version der ADOMD.NET-DLL anzeigt. Installiert können verschiedenste Versionen dieser DLL sein. Dazu und wie DeltaMaster mit dieser Vielfalt umgeht aber später mehr.

Glücklicherweise kann auch CubeWizard solche Fragen beantworten – automatisch zumindest dann, wenn etwas mit der Systemkonfiguration nicht stimmt:

Meldung
Abbildung 2 Meldung, bei nicht korrekt installierten Treibern

Diese Meldung inklusive passendem Link erscheint, wenn man sein System ohne OLE DB Provider betreibt. Damit ist es nicht möglich, CubeWizard einzusetzen – es können weder CUB-Files noch Serverdatenbanken geschrieben werden.

Sollte man die in den folgenden Abschnitten beschriebenen Änderungen zumindest teilweise nachvollzogen haben, so kann die Meldung etwas abweichen. Sie wird im Grundsatz aber immer auf den nicht installierten OLE-DB-Provider in der passenden Datenbankvariante hinweisen.

Noch ein wenig gesprächiger wird CubeWizard, wenn man mit gehaltener STRG- und UMSCHALT-Taste einen Doppelklick in das Ausgabefenster ausführt:

Welche Treiber sind installiert
Abbildung 3 Welche Treiber sind installiert?

Die drei Komponenten Analysis Services (AMO-Komponente für relationale Anbindung), Analysis Services.Adomd Client und OLE DB Provider müssen wie im Bild gezeigt von vollständig gleicher Version sein, damit CubeWizard wie gewünscht funktioniert. Weichen die Versionsnummern voneinander ab, kann es funktionieren. Wahrscheinlicher ist aber leider, dass der Versuch eine SSAS-Datenbank oder ein CUB-File zu schreiben mit einer meist irreführenden Fehlermeldung abbricht.

Die Versionsnummern von SQL-Server werden hier beschrieben/entschlüsselt:

http://sqlserverbuilds.blogspot.de/

Zu jeder SQL-Server-Version gibt es auch ein passendes Feature-Pack, wo die benötigten Komponenten je nach Version einzeln oder zusammen heruntergeladen werden können. Wir empfehlen regelmäßig, alle drei Komponenten von ein und derselben Version bei Microsoft herunterzuladen und zu installieren. Zu beachten ist weiterhin, ob eine x86- oder eine x64-Variante zur Anwendung kommen soll. Nur unter Einhaltung dieser Punkte ist sichergestellt, dass die oben genannte Voraussetzung auch wirklich erfüllt ist – CubeWizard gibt sehr gern Auskunft.

Die Welt geht weiter und wir gehen mit

Microsoft hat inzwischen eine beachtliche Anzahl von Versionen des SQL-Server auf den Markt gebracht. DeltaMaster unterstützt offiziell alle SQL-Server-Versionen mit Status RTM (vgl. deltas! 5.5.1 und 5.6.0) – also Stand heute bis einschließlich SQL-Server 2014.

Im Gepäck der DeltaMaster-Installation werden eine ADOMD.NET- und eine AMO-DLL für SQL-Server 2008 (10.0.1600.22) mit ausgeliefert. Diese DLLs dienen uns als Rückfallposition, wenn kein passender Treiber auf dem Rechner gefunden wird. Gibt es eine neuere Installation der Treiber für SQL-Server 2008 (R2) auf dem Rechner, so werden diese verwendet.

Auf einem Rechner können mehrere Versionen der DLLs parallel installiert sein – es ist also möglich, parallel die DLLs in Version 10.5, 11 und 12 auf dem Rechner installiert zu haben. Damit DeltaMaster und auch CubeWizard die gewünschte Version verwenden, kann in der client.exe.config eine „Umleitung“ aktiviert werden. Dazu muss lediglich die Kommentierung bei der gewünschten Major-Version entfernt werden:


Abbildung 4 Einkommentieren der Major Version

Das Entfernen der Kommentarzeichen im Bild schaltet in DeltaMaster die Verwendung der DLLs von SQL-Server 2012 frei.

Entfernt man die Kommentierung bei der falschen Version, wird man von DeltaMaster eindringlich gerügt:

Ergebnis der Aktivierung
Abbildung 5 Ergebnis der Aktivierung der falschen Major Version

Das ist aber nicht schlimm. Man beendet DeltaMaster, setzt die Kommentare in der Konfigurationsdatei in der richtigen Stelle ein und alles wird gut.

Natürlich kann nur eine Umleitung aktiviert werden. Aktiviert man dennoch mehrere Umleitungen, so wird die erste verwendet, die erfolgreich als vorhanden getestet wurde. Dieser Zustand ist aber nicht gewünscht und sollte vermieden werden, da Seiteneffekte nicht auszuschließen sind.

Ist alles eingerichtet, kann der erste Versuch unternommen werden, eine CUB-Datei zu erzeugen. Funktioniert es, so erscheint die ersehnte Erfolgsmeldung:


Abbildung 6 CubeWizard: Erfolgsmeldung

Jetzt stellen wir die Sitzung noch auf die CUB-Datei als Datenlieferant um, erzeugen innerhalb DeltaMaster noch rasch eine DM2GO-Datei und unsere Anwender haben alles für die schnelle Analyse unterwegs dabei – denkt man.

Ähnlich wie bei Datenbank- und SSAS-Backups sieht man den DM2GO-Dateien leider nicht an, für welche Treiberversion sie gebaut wurden. So kann es vorkommen, dass im günstigsten Fall eine solche Meldung erscheint:

Zugriff auf eine CUB-Datei
Abbildung 7 Zugriff auf eine CUB-Datei

Leider ist es, wie auch bei den Backups, nicht möglich, etwas „zu zaubern“ – auch wenn uns unsere Kunden durchaus magische Kräfte zuschreiben. Wir kommen um die Installation/Nutzung des geforderten Treibers nicht herum.

Fazit

Es ist wie immer: Beachtet man die Regeln kann nichts schief gehen.

Geht doch etwas schief kann die Situation mit überschaubarem Aufwand geheilt werden. Wir wissen jetzt, wo wir eingreifen müssen.