Die Versionen 1.0 und 1.1 des TLS-Sicherheitsprotokolls sind deaktiviert. Verwenden Sie TLS 1.2 oder höher, um Verbindungen herzustellen.
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-, Oracle- und PostgreSQL-Datenbanken.
Wenn Ihre Tabelle zu groß wird oder bei komplexen Berechnungen Zeitüberschreitungen auftreten, kann das Verschieben Ihrer Daten in eine externe Datenbank die Leistung und Zuverlässigkeit erheblich verbessern.
Wenn Sie eine externe Datenbank mit JDBC aktualisieren möchten, muss Ihr Skript eine Verbindung zur Datenbank öffnen und dann Änderungen vornehmen, indem es SQL-Anweisungen sendet.
Google Cloud SQL-Datenbanken
Mit Google Cloud SQL können Sie relationale Datenbanken in der Cloud von Google erstellen. Für Cloud SQL können je nach Nutzung Gebühren anfallen.
Erstellen Sie eine Google Cloud SQL-Instanz. Folgen Sie dazu der Anleitung im Cloud SQL-Schnellstart.
Google Cloud SQL-Verbindungen erstellen
Es gibt zwei Möglichkeiten, eine Verbindung zu einer Google Cloud SQL Datenbank mit dem JDBC-Dienst von Apps Script herzustellen:
- (Empfohlen) Verbindung mit Jdbc.getCloudSqlConnection herstellen
- Verbindung mit Jdbc.getConnection herstellen
Beide Methoden sind gültig. Bei der zweiten Methode müssen Sie jedoch eine Reihe von IP-Bereichen für den Zugriff auf Ihre Datenbank autorisieren.
Jdbc.getCloudSqlConnection verwenden (empfohlen)
Mit dieser Methode wird eine Verbindung zu einer Google Cloud SQL for MySQL-Instanz mit der
Jdbc.getCloudSqlConnection
hergestellt. Die Datenbank-URL hat das Format jdbc:google:mysql://subname, wobei
subname der MySQL Verbindungsname der Instanz ist, der auf der Seite Übersicht der Cloud SQL
Instanz in der Google Cloud Console aufgeführt ist.
Informationen zum Herstellen einer Verbindung zu Cloud SQL for SQL Server finden Sie unter Jdbc.getConnection.
Jdbc.getConnection verwenden
Um diese Methode verwenden zu können, müssen Sie bestimmte Classless Inter-Domain Routing (CIDR) IP-Adressbereiche autorisieren, damit die Server von Apps Script eine Verbindung zu Ihrer Datenbank herstellen können. Führen Sie vor dem Ausführen des Skripts die folgenden Schritte aus:
Autorisieren Sie in Ihrer Google Cloud SQL-Instanz die IP-Bereiche, einzeln aus dieser Datenquelle.
Kopieren Sie die URL, die Ihrer Datenbank zugewiesen wurde. Sie sollte das Format
jdbc:mysql:subnamehaben.
Nachdem Sie diese IP-Bereiche autorisiert haben, stellen Sie mit einer der Jdbc.getConnection Methoden und der zuvor kopierten URL Verbindungen zu Ihrer Google Cloud SQL-Instanz her.
Andere Datenbanken
Wenn Sie bereits eine eigene MySQL-, Microsoft SQL Server-, Oracle- oder PostgreSQL-Datenbank haben, stellen Sie über den JDBC-Dienst von Apps Script eine Verbindung zu ihr her.
Andere Datenbankverbindungen erstellen
Wenn Sie mit dem Apps Script JDBC-Dienst eine Datenbankverbindung erstellen möchten, müssen Sie in den Datenbankeinstellungen IP-Bereiche aus dieser Datenquelle autorisieren.
Der JDBC-Dienst kann nur eine Verbindung zu Ports ab 1025 herstellen. Achten Sie darauf, dass Ihre Datenbank nicht über einen niedrigeren Port bereitgestellt wird.
Nachdem Sie diese Zulassungslisten eingerichtet haben, stellen Sie mit einer der Jdbc.getConnection Methoden und der URL Ihrer Datenbank eine Verbindung zur Datenbank her.
Beispielcode
Im folgenden Beispielcode wird davon ausgegangen, dass Sie eine Verbindung zu einer Google Cloud SQL Datenbank herstellen. Datenbankverbindungen werden mit der Jdbc.getCloudSqlConnection Methode erstellt. Für andere Datenbanken müssen Sie die Jdbc.getConnection Methode verwenden, um Datenbankverbindungen zu erstellen.
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. Sie können aber auch in Apps Script dasselbe tun, wie im folgenden Beispiel gezeigt. Erstellen Sie mindestens einen weiteren Nutzer, damit Ihr Skript nicht immer als root eine Verbindung zur Datenbank herstellen muss.
In die Datenbank schreiben
Die folgenden Beispiele zeigen, wie Sie einen einzelnen Datensatz und einen Batch mit 500 Datensätzen in die Datenbank schreiben. Batching ist für Bulk-Vorgänge unerlässlich.
Es werden parametrisierte Anweisungen verwendet, in denen die Variablen durch ? gekennzeichnet sind. Um
SQL-Injection-Angriffe zu verhindern,
verwenden Sie parametrisierte Anweisungen, um alle vom Nutzer bereitgestellten Daten zu maskieren.
Aus der Datenbank lesen
In diesem Beispiel wird gezeigt, wie Sie eine große Anzahl von Datensätzen aus der Datenbank lesen und das Ergebnisset nach Bedarf durchlaufen.
Verbindungen schließen
JDBC-Verbindungen werden automatisch geschlossen, wenn die Ausführung eines Skripts abgeschlossen ist. (Einzelne
google.script.run-Aufrufe gelten als
vollständige Ausführung, auch wenn die HTML-Dienstseite, von der der Aufruf stammt, geöffnet
bleibt.)
Wenn Sie jedoch wissen, dass Sie eine Verbindung, eine Anweisung oder ein Ergebnisset
vor dem Ende des Skripts nicht mehr benötigen, schließen Sie sie manuell mit
JdbcConnection.close,
JdbcStatement.close,
oder
JdbcResultSet.close.
Wenn Sie ein Warn- oder Eingabefeld anzeigen, werden auch alle offenen JDBC-Verbindungen beendet. Bei anderen UI-Elementen wie benutzerdefinierten Menüs oder Dialogfeldern und Seitenleisten mit benutzerdefinierten Inhalten ist das nicht der Fall.
Google, Google Workspace sowie zugehörige Marken und Logos sind Marken von Google LLC. Alle anderen Unternehmens- und Produktnamen sind Marken der jeweiligen Unternehmen mit denen sie verbunden sind.