SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Lookup Feld in SharePoint Liste mit MS SQL abfragen

Geprüfte Antwort Dieser Beitrag hat 9 Antworten

Ohne Rang
9 Beiträge
Laubort erstellt 17 Feb. 2014 15:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Community,

ich möchte gerne Daten via MS SQL aus einer SharePoint Tabelle auswerten. Bei der Tabelle handelt es sich um eine Aufgabenverwaltung. In der Aufgabenliste sind Spalten angelegt, welche auf Personen/Gruppen (Lookup) zeigen. Wenn ich nun im SQL Statement gegen die Sicht „UserData“ abfrage, kann ich nicht nachvollziehen wo der Schlüssel für dieses Lookup ist. Meine Vermutung ist, dass der Wert in Hieroglyphen (s. Screenshot) dargestellt wird.


Hat jemand eine Idee an welcher Stelle ich fündig werden kann, um Lookup Felder in der Datenbanktabelle aufzulösen? Oder muss ich einen ganz anderen Weg wählen?

Vielen Dank!

MfG

Ben

Alle Antworten

Ohne Rang
643 Beiträge
Henning Eiben Als Antwort am 17 Feb. 2014 15:47
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das direkte auslesen der SharePoint-Datenbank ist eigentlich ein absolutes No-Go.

Wenn du Daten aus SharePoint auslesen willst, dann nur via API. Entweder die Server API verwenden, wenn du eine Anwendung hast, die auf dem Server ausgeführt werden kann (oder als WebPart), oder ansonsten über die WebServices oder die REST-API.

Henning Eiben
busitec.de

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 17 Feb. 2014 15:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Lookups speichern die ID des nachgeschlagenen Elements. Die Werte findest Du in einer der int1, int2, int3, ... Spalten.

Ich würde aber von diesem Vorgehen sher abraten. Direkter Zugriff auf die SharePoint Datenbanken wird von Microsoft nicht unterstützt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
9 Beiträge
Laubort Als Antwort am 18 Feb. 2014 09:08
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für die Antworten.

Mir war gar nicht bewusst, dass das direkte Auslesen aus der Datenbank nicht supported wird. Trotzdem ist mir noch nicht ganz klar warum dies als "schlimm" erachtet wird, da es bei einem lesenden Zugriff bleibt.

Dann werde ich mich mal mit den alternativen Methoden auseinandersetzen...

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Feb. 2014 09:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Man kann sicher darüber streiten, ob ein rein lesender Zugriff wirklich schlimm ist. Er ist auf jeden Fall nicht supported und das sollte genügen, es nicht zu tun. Microsoft könnte außerdem beim Einspielen eines Updates ohne Ankündigung das Datenbankschema ändern und damit Deinen Zugriff lahmlegen. Wenn man die offiziellen Methoden benutzt, sollte das nicht der Fall sein.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
643 Beiträge
Henning Eiben Als Antwort am 18 Feb. 2014 09:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ein Problem beim lesenden Zugriff sind "unglückliche" SQL-Statements. Wenn man sich z.B. den Inhalt einer Tabelle ohne WHERE-Clause anzeigen lässt, dann kann der SQL-Server als optimierung die komplette Tabelle mit einem Lock versehen um die Abfrage auszuführen. Das verhindert zur gleichen Zeit das schreiben von neuen Datensätzen.

Wenn man z.B. Naiv mit dem Management-Studio die Tabelle im Bearbeitungsmodus öffnet, dann werden ebenfalls Locks vergeben (für alle Zeilen oder auch die ganze Tabelle), und zwar so lange, wie man die Ansicht offen hat. 

Henning Eiben
busitec.de

Ohne Rang
9 Beiträge
Laubort Als Antwort am 18 Feb. 2014 10:34
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Aufgrund eurer Aussagen verstehe nun die Ratschläge es nicht zu tun.

Ich möchte mich nun mit anderen Methoden beschäftigen, um Daten aus dem SharePoint zu beauskunften. Existieren einsteigerfreundliche Tutorials, etc., welche ihr zu diesem Thema empfehlen könnt?

Ohne Rang
643 Beiträge
Henning Eiben Als Antwort am 18 Feb. 2014 10:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Generell findest du im MSDN einen Einstiegspunkt beim SharePoint 2010 SDK. Ansonsten gibt es bei den Kurzhinweisen auch ein paar einfache Anleitungen, wie man Lösungen mit/für SharePoint bauen kann.

Henning Eiben
busitec.de

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 18 Feb. 2014 11:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Generell hängt das von der Art der Datenweitergabe ab: sollen die Daten "von außen" abgefragt werden oder kann die Initiative auch von SharePoint ausgehen? Für letzteres könnte man z.B. ein eigenes Webpart entwickeln oder auch einen SharePoint Timerjob.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
634 Beiträge
Olaf Didszun Als Antwort am 18 Feb. 2014 12:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du kannst Dir auch die SQL Server Reporting Services anschauen. Ich meine ab SQL Server 2008 (oder R2?) gibt es die Möglichkeit auch direkt auf SharePoint-Listen zuzugreifen. Damit muss dann nicht wirklich entwickelt werden.

Beste Grüße

Olaf