"Haben Sie sich jemals gefragt, wie Sie in Ihren Python-Skripten auf Microsoft SharePoint zugreifen können?
Dieses Tutorial behandelt genau das: Mit dem Tool Connect Bridge können Sie dies auf einfache Weise tun."
Ursprünglich veröffentlicht am: 10. Juli 2019
Zuletzt aktualisiert: 14. Oktober 2026
Kurz gesagt
- Funktionsweise: ermöglicht es einem Python-Skript, SharePoint-Listen und Dokumentbibliotheken mithilfe von einfachem SQL über ODBC und die
pyodbcModul. - Wie: Ein kommerzielles Tool, Connect Bridge (kostenlose Testversion verfügbar), fungiert als Vermittler zwischen Python und SharePoint und stellt die SharePoint-API so dar, als handele es sich um eine Datenbank.
- Was Sie benötigen: ein Windows-Rechner, Python 3,
pyodbc, Connect Bridge mit einem konfigurierten SharePoint-Konto sowie die dadurch generierte ODBC-Verbindungszeichenfolge. - Das erhalten Sie: ein etwa 15-zeiliges Kernskript sowie Beispiele für SQL-Anweisungen und gespeicherte Prozeduren zum Erstellen von Listen, zum Einfügen von Datensätzen sowie zum Hoch- und Herunterladen von Dokumenten.
- Hinweise: Nur für Windows (vom Autor getestet); kommerzielle Lizenz.
- Am besten geeignet für: Teams, die in SQL denken und es vermeiden möchten, sich direkt mit der SharePoint-API vertraut zu machen.
Inhaltsverzeichnis
Einführung
Dieser Artikel beschreibt, wie Sie Python verbinden mit SharePoint, d. h., wie man aus Python-Skripten auf Daten von Microsoft SharePoint-Systemen (2013, 2016, 2019 oder Online) zugreifen kann. Die Datenübertragungen erfolgen über die ODBC-Schicht.
Anmerkung zur Aktualisierung: Die Beispiele in diesem Artikel wurden ursprünglich in den Jahren 2019–2022 mit Python 3.7 erstellt und getestet und pyodbc-Modul Version 4.0.26. Im Oktober 2026 haben wir das Skript vereinfacht und die Fehlerbehandlung für Python 3.14 und pyodbc 5.3.0 überarbeitet. Sollte sich in Ihrer Umgebung etwas anders verhalten, teilen Sie uns dies bitte in den Kommentaren mit.
Es ist wichtig zu beachten, dass wir in diesem Artikel ein kommerzielles Produkt namens Connect Bridge verwenden. Dies macht die Python/SharePoint-Integration möglich, indem es die Datenkommunikation so ermöglicht, dass Sie sicher sind, dass Sie die SharePoint-Seite nicht durcheinander bringen (und glauben Sie mir, dies ist SEHR wichtig). Sie können eine kostenlose Testversion erhalten für Connect Bridge, damit Sie all dies selbst ausprobieren können.
Was ist dieses "Connect Bridge"?
Ich bin froh, dass Sie fragen! Connect Bridge ist eine von Connecting Software entwickelte Integrationsplattform, mit der Sie jede Software über ODBC-Treiber, JDBC-Treiber oder Webdienste verbinden können. Die allgemeine Übersicht über die Architektur des Tools finden Sie in diesem Client-Server-Szenario-Diagramm.
(opens in a new tab)Connect Bridge Integrationsplattform-Architektur
Wie Sie im Architekturdiagramm sehen können, kann das Tool nicht nur für den Zugriff auf Microsoft SharePoint-Daten aus Ihrem Python-Skript heraus verwendet werden, sondern Sie können auch Daten von/zu Microsoft Exchange und Microsoft Dynamics CRM unter vielen anderen abrufen/eingeben.
Ziel unserer Arbeit war es, ein Python-Skript zu erstellen, das es uns ermöglicht, mit SharePoint über Connect Bridge zu kommunizieren.
Wir verwenden SharePoint, aber es ist möglich, eine ähnliche Logik zu verwenden, um eine Verbindung zu Microsoft Exchange oder zu einem CRM wie Salesforce oder Dynamics.
Erste Schritte...
Beginnen wir nun mit diesem Tutorial! Unser Ziel ist es, ein einfaches Python-Skript zu erstellen, das auf eine SharePoint-Instanz zugreift. Wir gehen davon aus, dass die SharePoint-Instanz bereits existiert (stellen Sie sicher, dass Sie Ihre Anmeldedaten zur Hand haben). Dies sind die einfachen Schritte, die Sie befolgen müssen:
1. Antrag a kostenloser Test und installieren Sie Connect Bridge
2. installieren Python für Windows Version 3.14+. Bitte beachten Sie, dass wir, um das Schreiben, Ausführen und Debuggen meines Skripts zu vereinfachen, Folgendes verwendet haben: Liclipse 12.0.1 mit dem PyDev-Plugin, was jedoch natürlich optional ist. Es funktioniert jeder Editor, beispielsweise VS Code oder PyCharm.
3. installieren pyodbc-Modul 5.3.0+
4. Führen Sie Connect Bridge Management Studio aus und
4.1. Fügen Sie ein Konto für SharePoint hinzu (Konten - Konto hinzufügen). Hier benötigen Sie die bereits erwähnten Anmeldedaten.
4.2. Öffnen Sie die Neue Abfrage und dann die Option Verbindungs-Browser. Finden Sie die SharePoint Stecker und öffnen Sie es, bis Sie die DefaultConnection. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Verbindungszeichenfolge abrufen. Kopieren Sie dann die ODBC-Verbindungszeichenfolge. Sie benötigen sie, um sie an das Skript weiterzugeben.
4.3. Verwenden Sie die Option "Neue Abfrage", um eine Abfrage zu testen, die auf die von Ihnen benötigten Daten in SharePoint zugreift. Wir werden hier eine Beispielabfrage machen, aber hier sollten Sie eingeben, wonach Sie in SharePoint suchen. Sobald Sie auf Neue Abfrageöffnen Sie die Verbindungs-Browser. Finden Sie die SharePoint Stecker und öffnen Sie es, bis Sie die Tische Option. Sie werden sehen, dass das Schema eine “Tabelle” namens Site_Pages enthält, so dass wir unsere Abfrage wie folgt konstruieren können
SELECT UniqueId, ContentType, Created, Modified, ContentVersion FROM Site_Pages LIMIT 10;
um die ersten 10 Einträge des SharePoints auszuwählen Website-Seiten Liste. Es ist wichtig zu beachten, dass es zwar so aussieht, als würden wir direkt eine Datenbank verwenden, aber das ist nicht der Fall.
Connect Bridge greift auf die API zu und stellt die Ergebnisse so dar, als handele es sich um eine Datenbank. Sobald Sie Ihre Abfrage haben, kopieren Sie sie, da Sie sie auch benötigen, um sie an das Skript weiterzugeben.
Hände aufs Skript!
Der Kern und gleichzeitig die einzige Datei in unserer Lösung ist CBQuery.py. Der vollständige Quellcode ist unten zu sehen. Bitte konzentrieren Sie sich auf die Zeilen 70-92, in denen die Kernlösung dargestellt wird. Eine vollständige Beschreibung der Funktionsweise dieses Skripts finden Sie weiter unten.
#!/usr/bin/env python3
#-Kodierung: utf-8
"""
CBQuery – Daten aus SharePoint abfragen und in SharePoint schreiben
Führt SQL-Abfragen über den Connect Bridge-ODBC-Treiber aus.
@author: Ana Neto
@created: 04.07.2019
@updated: 14.10.2026
"""
import sys
from argparse import ArgumentParser
from contextlib import closing
import pyodbc
def main():
parser = ArgumentParser(description=__doc__)
parser.add_argument("connstr", help="ODBC-Verbindungszeichenfolge aus Connect Bridge Management Studio")
parser.add_argument("query", help="Auszuführende SQL-Abfrage oder EXEC-Anweisung")
args = parser.parse_args()
try:
# Verbindung nach Abschluss schließen
with closing(pyodbc.connect(args.connstr)) as conn:
cursor = conn.cursor()
cursor.execute(args.query)
if cursor.description is None:
# Es wurden keine Ergebniszeilen zurückgegeben
conn.commit()
print("OK")
else:
for row in cursor:
print(row)
conn.commit()
return 0
except KeyboardInterrupt:
return 130
except pyodbc.Error as err:
print(f"ODBC-Fehler: {err}", file=sys.stderr)
return 2
if __name__ == "__main__":
sys.exit(main())Hier ist, was unser Skript tut:
- Die
argparseDer Block liest die beiden Befehlszeilenargumente ein,connstr(die ODBC-Verbindungszeichenfolge) undAbfrage. - Die Variable `connstr` enthält die ODBC-Verbindungszeichenfolge, die wir an das `pyodbc`-Modul übergeben, um eine ODBC-Verbindung herzustellen (gespeichert in der
connVariable). Die Verbindung wird incontextlib.closing, sodass er am Ende des Blocks immer geschlossen wird, auch wenn ein Fehler auftritt. - Als nächsten Schritt öffnen wir einen Datenbank-Cursor unter Verwendung der in „conn“ gespeicherten Verbindung.
- Wir führen die SQL-Abfrage aus (dies ist die Abfrage, die über den Befehlszeilenparameter „query“ übergeben wurde)
- Wenn die Anweisung Zeilen zurückgibt, durchlaufen wir den Cursor in einer Schleife und lesen die Ergebnisse Zeile für Zeile aus, wobei wir jede einzelne Zeile ausgeben. Das war unsere Wahl für diese Demo, aber bitte beachten Sie, dass es sich um jede Art von Ausgabe handeln könnte … wir könnten die Daten als XML, JSON, CSV … oder in jedem anderen Datenaustauschformat formatieren. Wir könnten das Rohdaten-Zeilenobjekt auch einfach in weiterem Code verwenden, um benutzerdefinierte Aufgaben auszuführen.
- Wenn die Anweisung keine Zeilen zurückgibt (INSERT, EXEC), gibt das Skript “OK” aus.
- In beiden Fällen wird die Transaktion explizit bestätigt, sodass die durch INSERT-Anweisungen und gespeicherte Prozeduren vorgenommenen Änderungen gespeichert werden.
- ODBC-Fehler werden auf stderr ausgegeben, und das Skript wird mit dem Code 2 beendet. Mit Strg+C wird das Skript mit dem Code 130 beendet, bei erfolgreicher Ausführung mit dem Code 0.
Ausführen des Skripts CBQuery.py
CBQuery.py akzeptiert zwei positionalen Befehlszeilenargumente: connstr und query.
Wir müssen diese, wie oben beschrieben (Punkt 4 des Erste Schritte Abschnitt).
Führen Sie das Skript dann wie folgt aus:
python CBQuery.py "" "SELECT UniqueId, ContentType FROM Site_Pages LIMIT 10;"
Nehmen wir nun an, wir möchten in SharePoint eine Kontaktliste anlegen und einen Kontakt in dieser Liste erstellen.
Im Grunde müssen wir denselben Vorgang befolgen, jedoch die Abfrage so ändern, dass eine “gespeicherte Prozedur” verwendet wird. Auch diese “Stored Procedure” greift zwar tatsächlich über die API auf SharePoint zu, speichert die Daten jedoch in der von Ihnen angegebenen SharePoint-Tabelle. Hier ist die Abfrage, die wir ausführen müssen:
EXEC SP_CREATE_TABLE 'MyContacts', 'This table was created using Connect Bridge', true, 'Contacts';
Die Parameter lauten in der angegebenen Reihenfolge: der Name der neuen Liste (Meine Kontakte); eine Beschreibung; ein boolescher Flag (wahr); sowie die Vorlage „SharePoint“, auf der sie basieren soll (Kontakte).
Die Abfrage erstellt eine neue SharePoint-Liste (MyContacts) mit einer Beschreibung, die in der Schnellstartleiste der SharePoint-Seite angezeigt wird.
Nun müssen wir die folgende Abfrage ausführen, um die ODBC-Schema-Reflexion von Connect Bridge entsprechend dem SharePoint-Schema zu aktualisieren. Dadurch wird unsere neue “Tabelle” für den ODBC-Client sichtbar. (Diese Prozedur benötigt keine Parameter.)
EXEC SP_UPDATE_SCHEMA;
An dieser Stelle können wir einen Kontakteintrag in unsere Kontaktliste einfügen.
INSERT INTO MyContacts (Vorname, Nachname) VALUES ('Ana', 'Neto');
Sie sollten jetzt unseren Eintrag und unsere neue SharePoint-Liste in der SharePoint-UI sehen können.
Wir können den soeben erstellten Eintrag auswählen, indem wir die folgende Abfrage ausführen.
SELECT FirstName,LastName FROM MyContacts
Zum Hochladen eines freigegebenen Dokuments verwenden wir die vorhandene SharePoint-Liste “Dokumente” und die “gespeicherte Prozedur” SP_INSERT_SHAREDDOCUMENT. Die erforderlichen Parameter lauten:
- Name der Tabelle „Gemeinsam genutzte Dokumente“
- Dateiname
- Ordner (relativer Pfad, auf dem Server)
- MIME-Typ
- Daten für die Datei (Base64-kodiert; im folgenden Beispiel,
SGVsbG8gV29ybGQ=ist einfach der Text “Hello World”)
Wir können das Dokument einfügen, indem wir die folgende Erklärung ausführen:
EXEC SP_INSERT_SHAREDDOCUMENT
'Dokumente',
'hello2.txt',
'/Gemeinsame Dokumente/Neuer Ordner',
'text/plain',
'SGVsbG8gV29ybGQ=';
Wenn Sie vorab prüfen möchten, ob der Ordner vorhanden ist, können Sie die folgende Anweisung ausführen. Als Parameter werden der Name der Dokumentbibliothek und der relative Ordnerpfad angegeben:
EXEC SP_ENSURE_FOLDER_PATH
'Dokumente',
'/NewFolder';
Nach Ausführung der SP_INSERT_SHAREDDOCUMENT-Anweisung können wir das Vorhandensein des Dokuments in der Tabelle “Dokumente” überprüfen, indem wir die Anweisung ausführen:
SELECT Id,Name FROM Documents;
Wir können auch den binären Inhalt eines bestimmten Dokuments aus einer bestimmten Dokumentbibliothek herunterladen, indem wir die folgende Anweisung ausführen: unten. Als Parameter dienen der Name der Bibliothek und die ID des Dokuments, wie sie von der oben genannten Funktion SELECT zurückgegeben werden:
EXEC SP_SAVE_SHAREDDOCUMENT_BY_ID 'Documents', 2;
An dieser Stelle können Sie in der SharePoint-Benutzeroberfläche überprüfen, ob das freigegebene Dokument vorhanden ist.
Einschränkungen
Bislang konnten wir das Tool „Connect Bridge“ nur unter Windows-Betriebssystemen nutzen, da keine ODBC-Client-Bibliothek für Linux verfügbar ist (und wir nicht sicher sind, ob dies überhaupt möglich ist). Probieren Sie Ihre Python-Skripte daher unbedingt auf einem Windows-Rechner aus.
Schlussfolgerung
Wir haben gesehen, wie sich der Zugriff auf SharePoint-Daten in Python mithilfe der Connect Bridge-Integrationsplattform ganz einfach realisieren lässt. Stellen Sie sich nun vor, dass das, was Sie in diesem Artikel gesehen haben, auch mit Microsoft Dynamics CRM und Microsoft Exchange möglich ist! Ja, mit Connect Bridge ist dies möglich, und die Vorgehensweise ist ähnlich.
An wen kann ich mich für Fragen wenden?

Durch Ana Neto, Fachberaterin bei Connecting Software.
"Ich bin seit 1997 Software-Ingenieur, und seit kurzem schreibe ich gerne und halte öffentliche Vorträge. Haben Sie Fragen oder Kommentare zu diesem Artikel? Ich würde mich über Ihr Feedback freuen. Hinterlassen Sie unten einen Kommentar!"

Comments 1
Vielen Dank für die klare Erklärung!