Apps Script kann Verbindungen zu externen Datenbanken über den JDBC-Dienst herstellen. Dies ist ein Wrapper für die Standardtechnologie der Java-Datenbankkonnektivität. Der JDBC-Dienst unterstützt Google Cloud SQL for MySQL, MySQL, Microsoft SQL Server- und Oracle-Datenbanken.
Wenn Sie eine externe Datenbank mit JDBC aktualisieren möchten, muss Ihr Script eine Verbindung zur Datenbank herstellen und dann Änderungen durch Senden von SQL-Anweisungen vornehmen.
Google Cloud SQL-Datenbanken
Mit Google Cloud SQL können Sie relationale Datenbanken erstellen, in der Google-Cloud. Beachten Sie, dass Cloud SQL können je nach Nutzung Gebühren anfallen.
Sie können eine Google Cloud SQL-Instanz erstellen, indem Sie die Schritte ausführen, die in der Cloud SQL-Kurzanleitung
Google Cloud SQL-Verbindungen erstellen
Es gibt zwei Möglichkeiten, eine Verbindung zu Google Cloud SQL herzustellen. mithilfe des JDBC-Dienstes von Apps Script:
- (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 die zweite Methode erfordert, dass Sie eine Reihe von IP-Bereichen für den Zugriff auf Ihre Datenbank autorisieren.
Mit Jdbc.getCloudSqlConnection(url) (empfohlen)
Diese Methode erstellt eine Verbindung zu einer Google Cloud SQL-MySQL-Instanz über die Methode Jdbc.getCloudSqlConnection(url)
. Die Datenbank-URL hat das Format jdbc:google:mysql://subname
, wobei subname
der Name der MySQL-Instanzverbindung ist.
die auf der Seite Übersicht der Cloud SQL-Instanz im
Google Cloud Console:
Informationen zum Herstellen einer Verbindung zu Cloud SQL SQL Server finden Sie unter Jdbc.getConnection(url).
Jdbc.getConnection(url) verwenden
Um diese Methode verwenden zu können, müssen Sie bestimmte Classless Inter-Domain Routing (CIDR) IP-Adressbereiche, damit die Apps Script-Server eine Verbindung zu Ihrer Datenbank herstellen können. Führen Sie vor dem Ausführen des Scripts die folgenden Schritte aus:
In Ihrer Google Cloud SQL-Instanz IP-Bereiche autorisieren, eines nach dem anderen aus dieser Datenquelle.
Kopieren Sie die URL, die Ihrer Datenbank zugewiesen wurde. sollte es die Formular
jdbc:mysql:subname
.
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 herstellen.
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.
Andere Datenbankverbindungen erstellen
Wenn Sie eine Datenbankverbindung mit dem JDBC-Dienst von Apps Script erstellen möchten, müssen Sie in Ihren Datenbankeinstellungen IP-Bereiche aus dieser Datenquelle autorisieren.
Sobald diese Zulassungslisten vorhanden sind, können Sie eine Verbindung zur Datenbank erstellen mit einer der Jdbc.getConnection(url) und die URL Ihrer Datenbank.
Beispielcode
Im Beispielcode unten wird davon ausgegangen, dass Sie eine Verbindung zu einer Google Cloud SQL-Datenbank herstellen. und stellt Datenbankverbindungen mit der Jdbc.getCloudSqlConnection(url) . Für andere Datenbanken müssen Sie die Methode Jdbc.getConnection(url) Methode zum Erstellen von Datenbankverbindungen.
Weitere Informationen zu den JDBC-Methoden finden Sie in der Java-Dokumentation für JDBC.
Datenbank, Nutzer und Tabelle erstellen
Die meisten Entwickler verwenden die
MySQL-Befehlszeilentool
Datenbanken, Nutzer und Tabellen erstellen. Sie können aber auch
in Apps Script, wie unten zu sehen. Es empfiehlt sich, mindestens ein
damit Ihr Skript nicht immer eine Verbindung
zur Datenbank herstellen muss,
root
In die Datenbank schreiben
Die folgenden Beispiele zeigen, wie ein einzelner Datensatz als sowie einen Batch mit 500 Datensätzen. Die Batchverarbeitung ist bei Bulk-Vorgängen unerlässlich.
Beachten Sie auch die Verwendung von parametrisierten Anweisungen, in denen die Variablen
gekennzeichnet durch ?
. Um dies zu verhindern,
SQL-Injection-Angriffe verwenden, sollten Sie
parametrisierte Anweisungen, um alle vom Nutzer bereitgestellten Daten zu maskieren.
Aus der Datenbank lesen
Dieses Beispiel zeigt, wie eine große Anzahl von Datensätzen aus der und bei Bedarf den Ergebnissatz mit einer Schleife durchlaufen.
Verbindungen schließen
JDBC-Verbindungen werden automatisch geschlossen, wenn die Ausführung eines Scripts abgeschlossen ist. Hinweis: Ein einzelner google.script.run
-Aufruf gilt als vollständige Ausführung, auch wenn die HTML-Dienstseite, über die der Aufruf erfolgt, geöffnet bleibt.
Wenn Sie wissen, dass Sie mit einer Verbindung, Anweisung oder Ergebnismenge
vor dem Skript hinzu, sollten Sie sie manuell schließen, indem Sie
JdbcConnection.close()
,
JdbcStatement.close()
,
oder
JdbcResultSet.close()
Anzeige einer Warnung oder eines Eingabeaufforderungsdialogfelds beendet außerdem alle offenen JDBC-Verbindungen. Auf der anderen Seite wird jedoch die Benutzeroberfläche benutzerdefinierte Menüs oder Dialogfelder sowie Seitenleisten mit benutzerdefinierten nicht.
Google, Google Workspace und zugehörige Marken und Logos sind Marken von Google LLC. Alle anderen Firmen- und Produktnamen sind Marken der Unternehmen. mit denen sie in Verbindung stehen.