In diesem Post werde ich die einzelnen Schritte erklären um in Sharepoint eine SQL Tabelle einzubinden. Dazu erforderlich ist:
- Sharepoint 2010 Foundation / Server
- SQL Server
- Sharepoint Designer 2010
Externen Inhaltstyp definieren
In diesem Schritt definieren wir den Inhaltstyp und somit die Verbindung zu SQL Server. Dies kann alles mit dem Sharepoint Designer erledigt werden. Unter Externe Inhaltstypen definieren wir die Verbindung.
Nun kann ein Name und die Verbindung zu SQL Server angegeben werden, indem wir auf “Klicken Sie hier, um externe Datenquellen zu ermitteln und Vorgänge zu definieren” klicken
Wir erstellen eine neue Verbindung vom Typ SQL Server und geben die Datenbankinformationen an
Nun können wir die Tabellen auswählen, die für diesen Inhaltstyp zur Verfügung stehen. Dabei klicken wir auf die Tabelle und können verschiedene Vorgänge definieren:
- Element lesen
- Liste lesen
- Erstellen
- Aktualisieren
- Löschen
Nun ist der Inhaltstyp definiert und steht in Sharepoint zur Verfügung.
BCS Berechtigungen definieren
Standardmäßig haben wir keine Berechtigung um auf den Inhaltstyp zuzugreifen. Dies müssen wir erst in den BCS Einstellungen definieren. Am schnellsten kann dies über die Zentraladministration erledigt werden.
Zentraladministration / Anwendungsverwaltung / Dienstanwendungen verwalten
Nun wählen wir den Business Data Connectivity-Dienst und definieren die Berechtigungen für den Inhaltstyp.
Info: Mindestens 1 Account muss das Buntzerrecht “Berechtigungen festlegen” haben.
Jetzt können wir die externe Liste erstellen und hätten theoretisch Zugriff darauf, wäre da nicht das Double-Hop Problem. Beim Zugriff erhalten wir folgende Fehlermeldung:
Double-Hop Problem beheben
Um das Double-Hop Problem zu lösen gehen wir folgendermaßen vor:
1. Zunächst erstellen wir einen neuen SPN (Service Principal Name) für unseren SQL Server:
setspn –A MSSQLsvc/NETBIOSNAME.DOMAIN:1433 DOMAIN\SQL-Service-Account
Der SQL Service Account kann am schnellsten unter den Diensten ermittelt werden.
2. Danach müssen wir in ActiveDirectory die Delegierungen für folgende Objekte aktivieren
- Sharepoint Computer-Objekt
- SQL-Service Account
Ich empfehle den Sharepoint sowie den SQL Server neu zu starten um sicherzugehen, dass die Konfiguration aktiv ist.
Jetzt haben wir Zugriff auf die SQL Tabelle über Sharepoint.
Nähere Informationen zur Double-Hop Problematik unter folgenden Link
Grüße
dn