Zum Inhalt springen
Februar 26, 2012 / delucamarco

SharePoint 2010 (BCS): Mit Hilfe einer externen Liste eine SQL Datenbank anzapfen

Dieser Eintrag soll zeigen, wie mit Hilfe der Business Connectivity Services (BCS) auf eine SQL Datenbank zugegriffen werden kann, um diese im SharePoint als Liste zu bearbeiten.

Im Beispiel wollen wir eine Produkt-Tabelle im SharePoint einbinden um dem Vertrieb einen schnellen Zugriff auf diese zu ermöglichen. Der Vorteil, mit Hilfe von externen Listen können alles klassischen CRUD-Operationen durchgeführt werden.

Die Abbildung unten zeigt die Datenbank mit der Produkt-Tabelle:

Datenbank Tabelle Product

Um diese Tabelle einzufügen muss wie folgt vorgegangen werden:

Zunächst muss die SharePoint-Seite geöffnet werden auf der die Liste zur Verfügung gestellt werden soll.
Unter „Site Actions“ soll mit Hilfe des SharePoint Designers die externe Liste erstellt werden.

Seite mit SharePoint Designer bearbeiten

Es öffnet sich der SharePoint Designer und stellt eine Verbindung zur Seite her.

Bevor eine externe Liste erstellt werden kann, muss ein sogenannter External Content Type (ECT) erstellt werden. Dieser ECT entspricht in diesem Fall der Entität Product.

ECT erstellen

Dazu auf External Content Types klicken und anschließend den New External Content Type Button (im Bild gelb markiert).

Als Name geben wir den Namen der Entität an und als DisplayName wählen wir einen aussagekräftigen Namen.

ECT anlegen

ECT anlegen

Im nächsten Schritt muss eine Verbindung zum SQL Server angelegt werden. Folgt man dem Warnhinweis mit dem gelben Dreieck, so ist ein Link zu erkennen:
„Click here to discover external data sources and define operations“
Ein Klick darauf öffnet einen neuen Dialog, in dem die Verbindung konfiguriert werden kann.
Dazu muss auf „Add Connection“ geklickt werden und im aufpoppenden Dialog als Data Source Type „SQL Server“ ausgewählt werden (wie zu sehen ist, ist auch eine Verbindung mit .NET Komponenten und auf WCF Services möglich).

Datenbank Server Verbindung

Im darauf folgenden Fenster muss nun der Datenbank Server angegeben werden und die Datenbank in der sich die gewählte Tabelle befindet.
Außerdem kann je nach gewünschter Authentifizierungsmethode zwischen drei Optionen gewählt werden. Wobei die letzten beiden Methoden den Secure Store verwenden, um die Zugangsdaten, mit denen auf die Datenbank zugegriffen werden soll, zu verwalten.

Nach einer kurzen Verbindung zur Datenbank erscheint die verbundene Datenbank zur Auswahl. Wie im Bild zu sehen, muss nun zur entsprechenden Tabelle navigiert werden. Dort kann über einen Rechtsklick darauf ausgewählt werden welche Operationen zur Manipulation der Datensätze möglich sein sollen.

Operationen auswählen

Operationen auswählen

Im Beispiel ist der Punkt „Create All Operations“ gewählt. Es erscheint ein Fenster, das in diesem Fall durchgeklickt und mit finish abgeschlossen werden kann.
An dieser Stelle wäre es möglich einige Tabellen Spalten auf entsprechende Outlook-Properties zu mappen (für dieses Beispiel ist dies aber nicht von Bedeutung).

Abschließend ist der ECT zu speichern.

externe Liste erstellen

externe Liste erstellen

Danach kann die externe Liste erstellt werden. Dazu muss auf „Lists and Libraries“ geklickt werden und anschließend auf „create External List“ (im Bild gelb markiert).

Es öffnet sich ein weiteres Fenster, in dem die ECTs aufgelistet sind. Hier ist der Product ECT zu wählen. Abschließen wird der Liste ein Name gegeben.
Ein Refresh der SharePoint-Seite zeigt unter Lists den neuen Eintrag „Produkt“.

SharePoint Liste Produkt

SharePoint Liste Produkt

Ein Klick auf den Eintrag, kann unter Umständen ernüchternd sein, wenn nämlich folgender Eintrag erscheint:
Zugriff verweigert :(

Es wurden noch keine Berechtigungen für die Liste vergeben. Um dies zu tun müssen einige Einstellungen in der Zentraladministration (CA) gemacht werden.

Unter Application Management -> Manage Service Applications -> Business Data Connectivity Services

Berechtigungen setzen

Berechtigungen setzen

Erscheint der im Bild unten gezeigte Dialog. Für den Eintrag Product können nun über „Set Permissions“ die Rechte für die Liste gesetzt werden.

In diesem Schritt werden die Object Permissions gesetzt. Im Beispiel wird aus Mangel an weiteren Usern (Demo-Umgebung 🙂 ) der Administrator hinzugefügt. An dieser Stelle könnte eine SharePoint-Gruppe eingetragen werden, die jene User enthält, die auf die Liste Zugriff erhalten sollen. Wichtig ist außerdem zu wissen, dass mindestens einem User das Recht „Set Permissions“ zugewiesen werden muss.

Berechtigungen zuweisen

Außerdem müssen für jene User die Zugriff auf die  per BCS definierten ECTs erhalten sollen die Berechtigung für den Metadata Store gesetzt werden.

Metadata Store Berechtigungen

Der Dialog ist Analog zu dem der Object Permissions.

Ist das getan, so muss nun die Seite auf der die Liste angezeigt wird refreshed werden. Das Ergebnis ist nun eine Liste, der neue Einträge hingefügt und vorhandene gelöscht oder bearbeitet werden können.

Liste mit CRUD-Operationen

Hinterlasse einen Kommentar