Verwenden des BDC Dienstes in SharePoint 2010 zum Zugriff auf externe Datenbanken (im Beispiel MS SQL Server 2008)


Ist es in der aktuellen Version des Microsoft Office SharePoint Servers 2007 (Enterprise) nur etwas „hakelig“ möglich mit Hilfe des Business Data Collectors Zugriff auf externe Datenbanken bzw. LOB (Line of Business Systeme) zu erhalten, so hat sich im neuen SharePoint 2010 hier einiges getan. Das folgende Beispiel soll anhand der zurzeit im Beta – Status befindlichen Tools (MS Ofice 2010 SharePoint Designer und SharePoint Server 2010) die neuen, verbesserten Möglichkeiten darstellen. Es wird dabei von folgendem Szenario ausgegangen.

Die Firma IM-Consult betreibt einen SP2010 als Intranet Lösung für das interne Netzwerk. Im SharePoint stehen den Benutzern verschiedene Arten von Daten in mehr oder weniger strukturierter Form zur Verfügung. Die Marketingabteilung benutzt eine Dokumentbibliothek zur Verwaltung ihrer kundenspezifischen Anschreiben und Angebote, die Entwicklungsabteilung besitzt eine Website zur Pflege ihrer Quellcodes, technischer Datenblätter und Whitepaper und eine Kontaktdatenbank externer Programmierer und Entwickler.

Das Unternehmen setzt ein auf dem MS SQL Server basierendes Warenwirtschaftssystem ein, in dem innerhalb der Stammdatenpflege eine stets aktuelle Kundendatenbank zur Verfügung steht. Die Abteilung Marketing möchte die Kundendaten auch außerhalb des Warenwirtschaftsystems verfügbar machen, damit darüber auch Marketingaktionen gesteuert werden können. Dazu sollen die Daten in einer Liste im SP2010 zur Verfügung gestellt werden.

clip_image002

Der Zugriff auf den SharePoint Server erfolgt zurzeit über NTLM, ein nicht delegierungsfähiger Authentifizierungsmechanismus ! Um den Zugriff über den SharePoint auf die Daten im Datenbankserver realisieren zu können, muss im ersten Schritt der Zugriff sowohl auf den SharePoint Server als auch auf den Datenbankserver auf den delegierungsfähigen Authentifizierungsmechanismus Kerberos umgeschaltet werden. Zunächst wird gezeigt, wie dies mit Hilfe entsprechender Kommandos erfolgreich umgesetzt wird.

Der Befehl setspn zum Erstellen eines Service Principal Name (SPN)

Voraussetzung für das korrekte Erstellen bzw. die Zuweisung eines SPN zu einem Service Account ist die Verwendung eines Domänenkontos für die WebApplication der SharePoint Website.

clip_image004

Die Syntax zum Einrichten eines SPN lautet:

setspn -A SPN accountname (für Win 2003)

setspn -S SPN accountname (für Win 2008 und höher)

für das Hinzufügen eines SPN.

setspn als Kommandozeilentool wird durch die Windows Server Ressouce Kit Tools zur Verfügung gestellt. Das Windows Server Ressource Toolkit ist Bestandteil der Windows Server 2003 CD oder steht via http://www.microsoft.com/downloads/details.aspx?familyid=5fd831fd-ab77-46a3-9cfe-ff01d29e5c46&displaylang=en einzeln zur Verfügung. Unter Windows 7 ist das Tool Bestandteil des OS.

Ab Windows 7 / Windows Server 2008 sollte zum Anlegen des neuen SPN bevorzugt der Parameter –S anstatt des Parameters –A verwendet werden, da hierbei auch gleich eine Prüfung auf eventuell bereits vorhandene SPN durchgeführt wird. Für das Beispiel wird von einer Win 2003 basierten Umgebung ausgegangen.

Da hier sowohl für den MS SQL Server als auch für den SharePoint Server SPN eingerichtet werden sollen, ist der o.a. Befehl mehrfach einzusetzen. Dabei werden folgende Accounts verwendet:

sp2010srv (Dienst Acount für SharePoint WebApplication)

sqlserver (Dienst Account des MS SQL Server)

Die Befehle

setspn -A http/sp2010.im-consult.intra im-consult\sp2010srv

setspn -A http/sp2010 im-consult\sp2010srv

setspn -A MSSQLSvc/sql200801.im-consult.intra:1433 im-consult\sqlserver

in einer Eingabeaufforderung eingesetzt, richten den SPN sowohl für den SharePoint Server als auch für den SQL Server ein.

setspn -L <account> listet die erfolgreich eingerichteten SPN auf.

clip_image006

Nach erfolgreicher Überprüfung der Einstellungen ist es sinnvoll, auch den Zugriff auf den MS SQL Server hinsichtlich der Verwendung von Kerberos zu überprüfen. Diese Prüfung ist von einem Client auf dem die Management Tools des MS SQL Server installiert sind, auszuführen (Achtung, da funktioniert nicht direkt auf dem MS SQL Server !). Im Management Studio verbindet man sich mit dem SQL Server und startet von dort eine neue Abfrage.

select auth_scheme, * from sys.dm_exec_connections

clip_image008

Die Spalten, deren „net_transport“ den Wert TCP haben, sollten zur Authentifizierung Kerberos verwenden.

Jetzt kann das Authentifizierungsprotokoll Kerberos auf der Website eingeschaltet werden. Dies erfolgt über die Zentralverwaltung des SharePoint Servers.

clip_image010

Die korrekte Verwendung von Kerberos kann mithilfe des Tools „WFETCH“, das Bestandteil des IIS Ressource Toolkits ist, geprüft werden. WFETCH steht unter diesem Downloadlink zur Verfügung:

http://www.microsoft.com/downloads/details.aspx?FamilyID=56FC92EE-A71A-4C73-B628-ADE629C89499&displaylang=en

clip_image012

Der rot markierte Bereich zeigt die Verwendung der Kerberosauthentifizierung am Webserver. Im Falle der NTLM Authentifizierung ist der Authentifizierungsbereich deutlich kleiner.

clip_image014

Als letzter Schritt muss nun noch die Delegation des Accounts im Active Directory eingestellt sein. Diese Kontoeigenschaft wird mit dem „Active Directory Computer und Benutzer“ MMC geändert. Unter Windows Server 2008 stellt sich das wie folgt dar.

clip_image016

An diesem Punkt ist die Einrichtung von Kerberos zum Zugriff auf einen MS SQL Server als auch auf die SharePoint Webseite beendet.


Erstellen des „Externen Daten Typ“ mit SharePoint Designer 2010

Nach dem Start des SharePoint Designer 2010 und dem Öffnen der entsprechenden Website oder Teamsite fügt man einen neuen „External Content Type“ im Bereich External Content Types hinzu.

clip_image018

Nach Klick auf den Eintrag

clip_image020

Öffnet sich die Konfigurationsseite des neuen Externen Inhaltstyp.

clip_image022

Die Konfiguration erfordert die Einstellung verschiedener Werte, die im Folgenden besprochen werden.

Zunächst wird im Bereich External Content Type Information ein „sprechender“ Name für den Inhaltstyp angegeben, dann erfolgt die Auswahl des Listentyps (Generic List) und am Ende die Angabe von welchem externen System die Daten verbunden werden sollen.

clip_image024

Im Beispiel wird die Verbindung zur Datenbank TEST auf dem MS SQL Server im internen Netz erstellt.

clip_image026

clip_image028

clip_image030

Anschließend stehen im Daten Quellen Explorer alle, von der Datenbank zur Verfügung gestellten Objekte zur Auswahl (abhängig von den Berechtigungen des Anwendungsentwicklers !).

Rechts in der Ansicht erscheint der Hinweis, dass noch Aktionen für den Inhaltstyp zu definieren sind. Dies erfolgt durch Rechtsklick auf die ausgewählte Tabelle.

clip_image032

Von dort lassen sich entweder einzelne oder gleich alle anzuwendenden Aktionen auswählen. In unserem Beispiel sollen gleich alle Aktionen erstellt werden.

clip_image034

Der Wizzard führt durch die Einstellungen…

clip_image036

Definition des Primärschlüsselfeldes als „Map to Identifier“.

clip_image038

Filter Parameter werden im skizzierten Fall nicht benötigt. Der Wizzard kann nun beendet werden.

clip_image040

Verschiedene Aktionen wurden definiert.

Nun kann die neue Liste erstellt werden, die später im SharePoint Server 2010 den Zugriff auf die externen Daten ermöglichen wird.

clip_image042

clip_image044

clip_image046

clip_image048

clip_image050

Die neue Liste ist erstellt…

clip_image052

Zurzeit hat nur der Administrator Zugriff auf die Liste…

clip_image054

Damit auch andere Benutzer auf die Liste zugreifen können, muss die entsprechende Zugriffsverwaltung in der Zentraladministration angepasst werden.

clip_image056

clip_image058

clip_image060

clip_image062

Und nun kann auch der Anwender Martin Schlenker auf die Daten zugreifen.

clip_image064

Advertisements

I am an independent IT Consultant focussing an Microsoft based technologies, mainly MS SharePoint MS Active Directory MS Office365 Training

Veröffentlicht in SharePoint
2 comments on “Verwenden des BDC Dienstes in SharePoint 2010 zum Zugriff auf externe Datenbanken (im Beispiel MS SQL Server 2008)
  1. Frank sagt:

    Wie der Beitrag sehr schön zeigt, können mit der SharePoint 2010 External List und den Business Connectivity Services (BCS) in SharePoint Foundation 2010 jetzt externe Daten in nahezu "echten" SharePoint Listen dargestellt und verwaltet werden. Wenn Sie ein ähnliches Feature bereits für SharePoint 2007 / WSS 3.0 benötigen, um SharePoint Listen (keine Web Parts) direkt in den Listeneinstellungen mit externen Daten zu verbinden, ohne SharePoint Designer, mit Workflow (wenn externe Daten sich ändern) dann schauen Sie doch hierhttp://bit.ly/p30tJmal vorbei. Die Shareware Version kann vollkommen kostenlos verwendet werden.

  2. […] Mit diesem BLOG Beitrag möchte ich ein Thema aufgreifen, dass ich in ähnlicher Form bereits einmal beschrieben habe (Verwenden des BDC Dienstes in SharePoint 2010 zum Zugriff auf externe Datenbanken (im Beispiel MS SQ…). […]

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

Follow IM-consult.net on WordPress.com

Um neue Beiträge per E-Mail zu erhalten, hier die E-Mail-Adresse eingeben.

Schließe dich 11 Followern an

Posts
Dezember 2009
M D M D F S S
« Okt   Feb »
 123456
78910111213
14151617181920
21222324252627
28293031  
%d Bloggern gefällt das: