Sharepoint 2010, external List, BCS, SQL

#sharepoint, #sql edit this page

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.

image

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

image

Wir erstellen eine neue Verbindung vom Typ SQL Server und geben die Datenbankinformationen an

image

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

image

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.

image

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:

image

 

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

image

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