Apps Script kann über den JDBC-Dienst eine Verbindung zu externen Datenbanken herstellen. Dies ist ein Wrapper für die standardmäßige Java-Datenbankkonnektivitätstechnologie. Der JDBC-Dienst unterstützt Google Cloud SQL for MySQL-, MySQL-, Microsoft SQL Server- und Oracle-Datenbanken.
Zum Aktualisieren einer externen Datenbank mit JDBC muss Ihr Skript eine Verbindung zur Datenbank öffnen und dann Änderungen durch Senden von SQL-Anweisungen vornehmen.
Google Cloud SQL-Datenbanken
Mit Google Cloud SQL können Sie relationale Datenbanken in der Google-Cloud erstellen. Beachten Sie, dass für Cloud SQL je nach Nutzung Gebühren anfallen können.
Sie können eine Google Cloud SQL-Instanz erstellen, indem Sie die Schritte in der Cloud SQL-Kurzanleitung ausführen.
Google Cloud SQL-Verbindungen erstellen
Es gibt zwei Möglichkeiten, mit dem JDBC-Dienst von Apps Script eine Verbindung zu einer Google Cloud SQL-Datenbank herzustellen:
- (Empfohlen) Verbindung über Jdbc.getCloudSqlConnection(url) herstellen
- Verbindung über Jdbc.getConnection(url) herstellen
Diese Methoden werden im Folgenden erläutert. Beide sind gültig, aber bei der zweiten Methode müssen Sie eine Reihe von IP-Bereichen für den Zugriff auf Ihre Datenbank autorisieren.
Verwenden von Jdbc.getCloudSqlConnection(url) (empfohlen)
Diese Methode stellt mithilfe der Methode Jdbc.getCloudSqlConnection(url) eine Verbindung zu einer MySQL-Instanz von Google Cloud SQL her. Die Datenbank-URL hat das Format jdbc:google:mysql://subname
, wobei subname
der Name der MySQL-Instanzverbindung ist, der in der Google Cloud Console auf der Seite Übersicht der Cloud SQL-Instanz aufgeführt ist.
Informationen zum Herstellen einer Verbindung zu Cloud SQL SQL Server finden Sie unter Jdbc.getConnection(url).
Jdbc.getConnection(url) verwenden
Für diese Methode müssen Sie bestimmte IP-Adressbereiche für Classless Inter-Domain Routing (CIDR) autorisieren, damit die Server von Apps Script eine Verbindung zu Ihrer Datenbank herstellen können. Führen Sie die folgenden Schritte aus, bevor Sie Ihr Skript ausführen:
Autorisieren Sie in Ihrer Google Cloud SQL-Instanz die IP-Bereiche nacheinander aus dieser Datenquelle.
Kopieren Sie die URL, die Ihrer Datenbank zugewiesen wurde. Sie sollte das Format
jdbc:mysql:subname
haben.
Nachdem Sie diese IP-Bereiche autorisiert haben, können Sie mit einer der Methoden Jdbc.getConnection(url) und der oben kopierten URL Verbindungen zu Ihrer Google Cloud SQL-Instanz erstellen.
Andere Datenbanken
Wenn Sie bereits eine eigene MySQL-, Microsoft SQL Server- oder Oracle-Datenbank haben, können Sie über den JDBC-Dienst von Apps Script eine Verbindung zu ihr herstellen.
Weitere Datenbankverbindungen erstellen
Wenn Sie eine Datenbankverbindung mit dem JDBC-Dienst von Apps Script erstellen möchten, müssen Sie in den Datenbankeinstellungen IP-Bereiche aus dieser Datenquelle autorisieren.
Sobald diese Zulassungslisten eingerichtet sind, können Sie mit einer der Methoden Jdbc.getConnection(url) und der URL der Datenbank eine Verbindung zur Datenbank herstellen.
Beispielcode
Im folgenden Beispielcode wird davon ausgegangen, dass Sie eine Verbindung zu einer Google Cloud SQL-Datenbank herstellen. Er erstellt Datenbankverbindungen mit der Methode Jdbc.getCloudSqlConnection(url). Bei anderen Datenbanken müssen Sie zum Erstellen von Datenbankverbindungen die Methode Jdbc.getConnection(url) verwenden.
Weitere Informationen zu den JDBC-Methoden finden Sie in der Java-Dokumentation zu JDBC.
Datenbank, Nutzer und Tabelle erstellen
Die meisten Entwickler verwenden das MySQL-Befehlszeilentool, um Datenbanken, Nutzer und Tabellen zu erstellen. In Apps Script ist derselbe Vorgang jedoch möglich (siehe unten). Es empfiehlt sich, mindestens einen weiteren Nutzer zu erstellen, damit Ihr Skript nicht immer als root
eine Verbindung zur Datenbank herstellen muss.
In die Datenbank schreiben
Die folgenden Beispiele zeigen, wie ein einzelner Datensatz in die Datenbank sowie ein Batch von 500 Datensätzen geschrieben wird. Batch-Verarbeitung ist für Bulk-Vorgänge von entscheidender Bedeutung.
Beachten Sie auch die Verwendung von parametrisierten Anweisungen, in denen die Variablen mit ?
gekennzeichnet sind. Sie sollten parametrisierte Anweisungen verwenden, um alle vom Nutzer bereitgestellten Daten zu schützen und SQL-Injection-Angriffe zu verhindern.
Aus der Datenbank lesen
Dieses Beispiel zeigt, wie Sie eine große Anzahl von Datensätzen aus der Datenbank lesen und die Ergebnismenge bei Bedarf in einer Schleife durchlaufen.
Verbindungen schließen
JDBC-Verbindungen werden automatisch geschlossen, wenn die Ausführung eines Skripts abgeschlossen ist. Denken Sie daran, dass ein einzelner google.script.run
-Aufruf als vollständige Ausführung gezählt wird, auch wenn die HTML-Dienstseite, auf der der Aufruf ausgeführt wurde, geöffnet bleibt.
Wenn Sie jedoch wissen, dass Sie eine Verbindung, Anweisung oder Ergebnismenge vor dem Ende des Skripts abgeschlossen haben, sollten Sie diese manuell schließen, indem Sie JdbcConnection.close()
, JdbcStatement.close()
oder JdbcResultSet.close()
aufrufen.
Wenn ein Warn- oder Eingabeaufforderungsdialogfeld angezeigt wird, werden auch alle offenen JDBC-Verbindungen beendet. Bei anderen UI-Elementen wie benutzerdefinierten Menüs oder Dialogfeldern und Seitenleisten mit benutzerdefiniertem Inhalt ist dies jedoch nicht der Fall.
Google, Google Workspace und zugehörige Warenzeichen und Logos sind Marken von Google LLC. Alle anderen Firmen- und Produktnamen sind Marken der betreffenden Unternehmen.