2010-12-11 4 views
0

ich auf einem Remote-Server mit einer SQL Server Analysis Services-Cube zu verbinden bin versucht, die nicht an die Domäne Ich bin verbunden ist, verbunden.Unterschiede zwischen ADOMD.net und Analysis Services OLE DB-Provider (vor allem in Bezug auf Authentifizierung)

Ich kann eine Verbindung mit dem Cube mit Excel herstellen, nachdem ich Benutzername und Passwort angegeben habe. Jetzt versuche ich mich über den Code mit dem gleichen Würfel zu verbinden.

Erfolglos Verbindung über AdomdConnection

Mit ADOMD.net (AdomdConnection) für SQL Server 2008 R2 versuche ich mit dieser Verbindungszeichenfolge zu verbinden:

Data Source=SRV1;Initial Catalog=Name of Cube;User Id=RemoteAccount;Password=*** 

Diese Verbindung auf der Open-Methode nicht von die Verbindung. Interessanterweise sind die Eigenschaften "user id" und "password" erlaubt, denn wenn die Syntax falsch ist, erhalten Sie eine KeyNotFoundException.

Erfolgreiche Verbindung über OleDbConnection

ich, wenn ich OleDbConnection statt und die folgende Verbindungszeichenfolge (kopiert aus der Excel-Verbindung) verwenden erfolgreich eine Verbindung herstellen können: meine Fragen sind

Provider=MSOLAP.4;Persist Security Info=True;User ID=SRV1;Password=***;Initial Catalog=Name of Cube;Data Source=SRV1; 

So:

  • Kann jemand dieses Verhalten erklären? Ich dachte, dass AdomdConnection nur OleDB darunter verwendet?
  • Gibt es eine Möglichkeit, um eine SSAS Instanz mit AdomdConnection mit Benutzername und Passwort zu verbinden?
  • Gibt es weitere Unterschiede zwischen AdomdConnection und OleDbConnection?

Alle Downloads sind verfügbar here.

Antwort

0

Ich bin mit dem AdomdConnection erfolgreich mit den Benutzernamen/Passwort Schlüssel, aber der Unterschied ist, dass ich auf eine HTTP-Datenquelle bin zu verbinden. Die Lösung, die ich verwende, ist, dass ich OLAP-Verkehr über HTTP über IIS 7 tunnel wie beschrieben in MSDN. Der Benutzername und das Kennwort werden dann von IIS an Windows-Anmeldeinformationen angenommen.

Hinweis: Deaktivieren Sie die anonyme und Windows-Authentifizierung in IIS. Ich habe es nur mit Basic Authentication arbeiten. Verwenden Sie für erhöhte Sicherheit SSL.

-1

Wenn Sie den Cube nicht mit Excel verbinden können, können Sie ihn nicht mit dem Code verbinden.

Der Unterschied zwischen ADOMD.Net und OleDb-Verbindung besteht darin, dass der OleDb MSOLAP-Provider verwendet werden kann, um MDX-, DAX- und DMX-Abfragen an eine Analysis Services-Datenbank zu senden. Das Ergebnis kann nur ein Skalar oder eine Tabelle sein. Daher können Sie keine MDX-Abfrage verwenden, die Ergebnisse für mehr als zwei Achsen liefert. Wenn Sie eine DAX-Abfrage verwenden, passt das Ergebnis immer gut in eine Tabelle. Sie können eine DataReader-Klasse verwenden, um das Ergebnis zu erhalten.

Wir bevorzugen in erster Linie ADOMD.NET auf OleDb aufgrund der Anwesenheit Connection bug, die nicht behoben wurde.

Um SSAS Instanz mit ADOMD.NET verbinden wir die folgende Zeile in der Datei web.config (Nach dem Erstellen von Konsolenanwendung in Visual Studio 2012)

hinzufügen müssen Da wir werden Wenn Sie die Windows-Authentifizierung zum Herstellen einer Verbindung mit Microsoft Analysis Services 2005 verwenden, muss diese Zeile in der Datei web.config hinzugefügt werden, um die Identität eines Benutzers anzunehmen, der Zugriff auf die Analysis Services hat.

Wir müssen den IIS-Server konfigurieren, indem Sie einen neuen Anwendungspool erstellen.

Die folgende MSDN-Verknüpfung gibt weitere Parameter der ADOMD.NET-Verbindungszeichenfolge an.

https://msdn.microsoft.com/en-us/library/microsoft.analysisservices.adomdclient.adomdconnection.connectionstring

Verwandte Themen