Kategorien anzeigen

SQL in Google Sheets ohne Apps Script JDBC ausführen

Google Tabellen · SQL ohne Apps Script

ausführen. SQL In Google Sheets ohne Apps Script JDBC zu schreiben

Der JDBC-Dienst von Apps Script funktioniert, und diese Seite zeigt Ihnen die Details: den Code, das Sechs-Minuten-Limit, die IP-Bereiche und das Passwort im Skript. Außerdem wird der umgekehrte Weg erläutert: Ein kleiner Agent neben Ihrer Datenbank führt die SQL-Abfragen aus, und ein Google Sheets-Add-on importiert die Daten in Ihre Tabelle. Kein JavaScript, keine Firewall-Änderungen – und das alles im kostenlosen Tarif.

Ungefähr 15 Minuten Nur SQL, kein JavaScript. Das Passwort bleibt in Ihrem Netzwerk. MySQL, PostgreSQL, SQL Server und mehr
Sie kommen an irgendeiner Stelle nicht weiter? Fragen Sie uns einfach. Öffnen Unterstützung Gehen Sie zu „Abfrageströme“ (Menü oben rechts → Support) und senden Sie uns eine Nachricht. Echte Menschen lesen sie, und „Ich verstehe nicht, was dieser Bildschirm von mir verlangt“ ist eine völlig berechtigte Frage.

Falls Sie weiterhin Apps Script JDBC benötigen, finden Sie hier die offizielle Version.

Googles JDBC-Dienst Verbindet Apps Script mit MySQL, Google Cloud SQL für MySQL, PostgreSQL, Microsoft SQL Server und Oracle. Das kleinste funktionierende Skript, das ein Tabellenblatt füllt, sieht folgendermaßen aus:

Apps Script · Code.gs
Funktion Kunden laden() {
  Konstante Eigenschaften = Immobilienservice.getScriptProperties();          // Das Passwort darf nicht in den Code gelangen.
  Konstante conn = JDBC.Verbindung abrufen('jdbc:mysql://db.example.com:3306/sales', Requisiten.getProperty('DB_USER'), Requisiten.getProperty('DB_PASS'));
  Konstante rs = conn.createStatement().executeQuery('SELECT customer_id, name, city FROM customers LIMIT 1000');
  Konstante Zeilen = [];
  während (rs.nächste()) Zeilen.drücken([rs.getString(1), rs.getString(2), rs.getString(3)]); rs.schließen(); Verbindung.schließen();
  Konstante Blatt = Tabellenkalkulations-App.getActiveSpreadsheet().getSheetByName('Kunden'); Blatt.Inhalt löschen(); Blatt.getRange(1, 1, rows.length, 3).setValues(Zeilen); }

Das Beispiel verwendet MySQL. Bei den anderen Datenbanken ändert sich lediglich die Verbindungszeichenfolge: jdbc:postgresql://, jdbc:sqlserver:// und jdbc:oracle:thin:@ folgen der gleichen Form, und Cloud SQL verwendet jdbc:google:mysql://Bevor dies ausgeführt werden kann, muss Ihre Datenbank Verbindungen von Googles Servern akzeptieren. Google veröffentlicht die Adressbereiche als JSON-Datei Sie müssen diese Konfiguration in Ihre Datenbank-Firewall einbinden und stets aktuell halten. Die Datenbank muss zudem auf Port 1025 oder höher lauschen. Die in der Praxis relevanten Beschränkungen ergeben sich aus Googles Richtlinien. Quotenseite:

LimitPersönliches Google-KontoGoogle Workspace-Konto
Skriptlaufzeit, pro Ausführung6 Minuten6 Minuten
Laufzeitumgebung für benutzerdefinierte Funktionen (eine Formel, die JDBC aufruft)30 Sekunden30 Sekunden
JDBC-Verbindungen pro Tag10,00050,000
Gleichzeitige Ausführungen pro Benutzer3030
Zeitgesteuerte Auslöser, Gesamtlaufzeit pro Tag90 Minuten6 Stunden

Zwei Dinge werden im obigen Beispiel verschwiegen. Googles eigene Beispiele übergeben Benutzername und Passwort als Klartextzeichenketten im Code, und die meisten frei verfügbaren Skripte kopieren diese. Der Trick mit den Skripteigenschaften hält sie zwar aus dem Quellcode fern, aber jeder, der das Skript bearbeiten kann, kann sie trotzdem lesen. Außerdem muss jede Zeile in den Speicher des Skripts passen und innerhalb von sechs Minuten verarbeitet werden. Daher bedeutet eine langsame Abfrage oder eine große Tabelle, dass die Arbeit manuell in Teilmengen aufgeteilt werden muss. Wenn Ihre Tabelle klein ist, Ihre Datenbank bereits über das Internet erreichbar ist und nur ein Entwickler das Skript besitzt, ist JDBC ausreichend. Der Rest dieser Seite richtet sich an alle anderen.

Was Sie stattdessen erhalten werden

Google Sheets-LogoEin Google Sheet, das das Ergebnis einer SQL-Abfrage gegen Ihre Datenbank enthält, mit einem Abfrage ausführen Eine Schaltfläche in der Seitenleiste, die bei Bedarf die neuesten Zeilen anzeigt. Zum Beispiel so:

Der Unterschied liegt im Ausführungsort der Abfrage. Bei JDBC öffnen die Server von Google eine Verbindung zu Ihrer Datenbank, weshalb Ihre Firewall den Zugriff zulassen muss und das Skript das Passwort speichern muss. Bei Query Streams hingegen läuft ein kleines Programm namens Agent auf einem Computer, der bereits Zugriff auf die Datenbank hat. Es stellt eine ausgehende Verbindung zu Query Streams her und führt dort die SQL-Abfrage aus. Das Google Sheets-Add-on fordert die Zeilen an, und nur diese werden übertragen. Ihre Firewall öffnet keine Verbindungen, und das Passwort verlässt den Agenten nie.

WO DIE DATENBANK GELÄUFTIhr Büronetzwerk oder ServerraumIhre eigene Datenbankbleibt in Ihrem NetzwerkAbfrage-Streams-Agentim selben NetzwerkAbfrageströmeverschlüsselter Linküber das Internet · nur ErgebnisseWO IMMER DU BISTJeder Browser: Laptop, Tablet, Smartphone, ChromebookGoogle SheetsDie Zeilen kommen auf einem Blatt an
Der Agent arbeitet mit Ihren Daten. Ihre Tabelle befindet sich in der Google Cloud. Öffnen Sie sie einfach irgendwo, und die Zeilen werden Ihnen angezeigt.

Was Sie benötigen

Ein Query Streams-Konto

Für diesen Leitfaden reicht der kostenlose Tarif aus. Melden Sie sich an unter mein.querystreams.de.

Der Agent befindet sich auf einem Computer, der den Server erreichen kann.

Ein kleines Programm, das im Hintergrund läuft und die Datenbank abfragt, wenn Google Sheets dies anfordert. Häufig handelt es sich dabei um den Datenbankserver selbst oder einen beliebigen, ständig eingeschalteten Computer im selben Netzwerk.

Ihre eigenen Verbindungsdaten

Der Servername, der Datenbankname sowie ein Benutzername und ein Passwort mit Leseberechtigung. Falls die Datenbank von jemand anderem verwaltet wird, sollten Sie diese Informationen erfragen.

Welcher Computer erhält den Agenten? Jede ständig eingeschaltete Maschine, die bereits auf Ihre eigene Datenbank zugreifen kann, oft der Datenbankserver selbst oder ein Computer im selben Netzwerk. Google Sheets kann überall seinEs läuft in Ihrem Browser.

Richten Sie es in vier Schritten ein

  1. Erstellen Sie Ihr Konto

    Gehen Sie zu mein.querystreams.de Melden Sie sich mit dem Google-Konto an, das Sie für Tabellen verwenden. Wählen Sie die Kostenlos Es handelt sich um einen echten Plan, nicht um eine Testversion, und er umfasst zwei Verbindungen und Ad-hoc-SQL-Abfragen aus Google Sheets.

  2. Installieren Sie den Agenten auf einem Computer, der den Server erreichen kann.

    Anmelden, öffnen HerunterladenInstallieren Sie den Agenten auf einem Rechner, der bereits auf Ihre Datenbank zugreifen kann: häufig auf dem Datenbankserver selbst oder einem beliebigen, ständig eingeschalteten Rechner im selben Netzwerk. Die Installation dauert etwa eine Minute und der Agent startet anschließend automatisch.

    Warum ein kleines Programm anstelle eines Treibers? Der Agent ist eine einmalige Installation für Windows, Mac oder Linux (ca. 85 MB unter Windows, etwas über 100 MB unter Mac und Linux) und läuft unauffällig im Hintergrund. Er stellt eine einzige, verschlüsselte Verbindung zu Query Streams her, genau wie ein Browser. Daher müssen Sie weder einen Firewall-Port öffnen noch ein VPN einrichten. Ihre Datenbank bleibt in Ihrem Netzwerk, und die Datensätze werden – falls nötig über das Internet – an Ihren Standort übertragen. Sie benötigen lediglich das Add-on.

    Die Downloadseite zeigt Ihr ZugangsschlüsselFügen Sie es in das Feld des Agenten ein, wenn Sie dazu aufgefordert werden, und warten Sie, bis das Abzeichen gelesen wurde. Verbunden mit AbfrageströmenDas ist das Einzige, was Sie auf dem Agenten selbst tun.

    Vollständige Komplettlösungen, falls gewünscht: Fenster, Mac, Linux.

  3. Fügen Sie Ihre Datenbankverbindung hinzu.

    Im Portal geöffnet Daten → Datenagenten, klicken Anschluss hinzufügen Wählen Sie auf Ihrem Agenten den Datenbanktyp aus und geben Sie Host, Port, Datenbank und ein schreibgeschütztes Login ein. Klicken Sie Testverbindungdann Speichern SieDie Verbindung erreicht den Agenten innerhalb weniger Sekunden. Jede Datenbank hat ihren eigenen Ablauf mit den exakten Feldern: MySQL, PostgreSQL, SQL-Server, OracleCloud SQL-, Amazon RDS- und Azure-Datenbanken werden auf die gleiche Weise verbunden; der Agent muss sie lediglich erreichen können.

    Keine IP-Zulassungsliste. Der Agent verbindet sich innerhalb Ihres Netzwerks mit Ihrer Datenbank und über HTTPS mit ausgehenden Abfrageströmen. Es muss keine Liste von Google-Adressen zur Firewall hinzugefügt werden, und es gibt keine weiteren Einstellungen, die synchronisiert werden müssen.

  4. Führe die SQL-Anweisung aus Google Sheets aus.

    Öffnen Sie Ihre Tabellenkalkulation und Installieren Sie das Add-on „Query Streams“. Falls Sie dies noch nicht getan haben, können Sie es über den Google Workspace Marketplace herunterladen. Es erkennt Ihr bereits angemeldetes Google-Konto; eine separate Anmeldung ist nicht erforderlich. Klicken Sie dazu in der Seitenleiste auf AbfragestreamerWählen Sie Ihre Verbindung aus und fügen Sie dieselbe SELECT-Anweisung ein, die Sie auch im Skript verwendet hätten:

    Beispiel · SQL
    SELECT Kunden-ID, Name, Stadt
    VON Kunden
    BEFEHL VON Name
    LIMIT 1000;

    Wählen Sie die Registerkarte unter Zielblatt und klicken Sie Abfrage ausführenDie Zeilen werden unter Ihren Spaltenüberschriften angezeigt. Klicken Sie Abfrage ausführen Rufen Sie die neuesten Daten jederzeit wieder auf. Damit sich das Tabellenblatt automatisch aktualisiert, speichern Sie die Abfrage im Abfrage-Generator und richten Sie eine entsprechende Einstellung ein. Automatisierung, das es nach einem Zeitplan von alle fünf Minuten bis wöchentlich laufen lässt.

Das war’s. Ihre Daten befinden sich in der Tabelle und bleiben mit einem Klick aktuell. Außer den von Ihnen angeforderten Zeilen hat nichts Ihr Netzwerk verlassen.

Seite an Seite, nur was hält

Apps Script JDBCAbfrageströme
Was Sie schreibenJavaScript rund um Ihre SQL-AbfrageDie SQL-Anweisung
Wo die Abfrage ausgeführt wirdAuf den Servern von Google, Verbindung zu Ihrer DatenbankAuf dem Agenten, neben Ihrer Datenbank
DatenbankpasswortIm Skript oder seinen Eigenschaften, lesbar für jeden, der es bearbeiten kannNur auf dem Agenten; Sheets-Benutzer sehen es nie.
FirewallErlauben Sie die von Google veröffentlichten Adressbereiche, Port 1025 oder höher.Es gehen keine Daten ein; der Agent stellt ausgehende Verbindungen über HTTPS her.
Zeitlimit6 Minuten pro Ausführung, 30 Sekunden für eine benutzerdefinierte FunktionKein Skript, das einen Timeout verursachen könnte; der Agent führt die Abfrage aus und streamt die Zeilen.
Quoten10.000 oder 50.000 JDBC-Verbindungen pro Tag, 90 Minuten oder 6 Stunden TriggerzeitEin monatliches Datenvolumen pro Tarif, ab 5 MB bei Free
Einem Kollegen die Daten gebenKopieren Sie das Skript und die zugehörigen Zugangsdaten.Teilen Sie die Ergebnisse der Abfrage; der Empfänger führt sie aus und sieht niemals die Anmeldedaten.
Nach einem Zeitplan aktualisierenZeitgesteuerter Trigger innerhalb des täglichen LaufzeitkontingentsAutomatisierung, alle 5 Minuten bis wöchentlich
DatenbankenMySQL, Cloud SQL, PostgreSQL, SQL Server, OracleDiese fünf plus MariaDB, Snowflake, BigQuery, SQLite, Access, DuckDB, Ordner mit Dateien und APIs wie Stripe, HubSpot und Shopify

Was die Pläne erlauben

Ad-hoc-SQL-Abfragen über das Google Sheets-Add-on sind in allen Tarifen enthalten, auch im kostenlosen. Der kostenlose Tarif umfasst zwei Verbindungen und ein monatliches Datenvolumen von 5 MB für Ergebnisse – ausreichend für eine Tabelle wie die obige, die mehrmals täglich aktualisiert wird. Die Ausführung von Abfragen, die Sie im Abfrage-Generator des Add-ons gespeichert haben, ist ab dem Tarif „Personal Core“ möglich; Abfragen, die ein Kollege mit Ihnen teilt, sind in allen Tarifen enthalten. Siehe die Preisseite für die Zulagen nach Plan.

Kostenlos ist ein Plan, den man behält. Es handelt sich nicht um eine Testphase, die abläuft. Sehen Sie genau, was sie beinhaltet, auf der Preisseite.

Fragen, die Menschen stellen

Kann ich mein bestehendes Apps Script behalten und nur das Passwortproblem beheben?

Ja. Verschieben Sie Benutzername und Passwort wie im obigen Beispiel in die Skripteigenschaften und erteilen Sie der Datenbankanmeldung Leserechte. Damit ist das größte Problem behoben. Die Sechs-Minuten-Beschränkung, das tägliche Verbindungskontingent und die Firewall-Zulassungsliste bleiben davon unberührt. Aus diesem Grund verschieben die meisten Benutzer die Abfrage aus Apps Script, sobald die Tabelle für mehr als eine Person relevant ist.

Muss der Agent auf dem Datenbankserver ausgeführt werden?

Nein. Jeder ständig eingeschaltete Computer, der auf die Datenbank zugreifen kann, funktioniert: eine Workstation im Büro, eine kleine virtuelle Maschine oder der Server selbst. Es wird lediglich eine ausgehende HTTPS-Verbindung für die Abfrage von Datenströmen benötigt.

Gibt es eine Zeilenbegrenzung ähnlich der Speicherbegrenzung von JDBC?

Der Agent verarbeitet die Datenzeilen, anstatt das gesamte Ergebnis in einem Skript zu speichern. Die praktischen Grenzen sind daher das Datenvolumen Ihres Tarifs und Google Sheets selbst, das Tabellen auf 20 Millionen Zellen begrenzt (10 Millionen für Konten, die Googles Einführung im September 2026 noch nicht erreicht hat). Beschränken Sie die SELECT-Anweisung auf die benötigten Spalten und den Datumsbereich, dann funktioniert alles reibungslos.

Ich nutze Cloud SQL. Ändert das etwas?

Nur dort, wo der Agent ausgeführt wird. Installieren Sie ihn auf einem Computer oder einer virtuellen Maschine, die die Cloud-SQL-Instanz erreichen kann – entweder über deren öffentliche Adresse mit der autorisierten Agentenadresse oder innerhalb desselben Netzwerks – und verbinden Sie ihn als MySQL, PostgreSQL oder SQL Server. Es muss kein Google-Adressbereich verwaltet werden.

Muss sich meine eigene Datenbank auf dem Computer befinden, auf dem ich Google Tabellen verwende?

Nein. Nur der Agent muss sich am selben Ort wie Ihre Datenbank befinden. Google Tabellen läuft in Ihrem Browser auf jedem Gerät. Öffnen Sie das Add-on mit demselben Google-Konto, und Ihre Verbindungen sind hergestellt.

Werden meine Daten in Query Streams kopiert?

Nein. Der Agent führt die Abfrage dort aus, wo Ihre Daten gespeichert sind, und sendet nur die zurückgegebenen Zeilen. Es werden keine Daten synchronisiert oder zwischengespeichert.

Ist das im kostenlosen Tarif wirklich enthalten?

Ja. „Kostenlos“ ist ein dauerhafter Tarif, keine befristete Testphase. Die genauen Leistungen finden Sie hier: Preisseite.

Aktualisiert sich das Tabellenblatt von selbst?

Klicken Sie erneut auf „Abfrage ausführen“, um die neuesten Zeilen anzuzeigen. Für eine Tabelle, die sich automatisch nach einem Zeitplan aktualisiert, richten Sie eine Automatisierung im Query Streams-Portal ein (Streams → Automatisierung). Diese Funktion ist in jedem Tarif enthalten.

Immer noch festgefahren? Öffnen Unterstützung Bitte geben Sie in Query Streams an, bei welchem Schritt Sie sich befinden und was Sie sehen. Wir stellen dann die Verbindung her.
Query Streams verbindet außerdem dieselben Daten mitExcelClaude, Cursor und ChatGPTeine REST-APIund mehr

Setup trouble?

  • Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?
Aktualisiert am 27. September 2026

Angetrieben durch BetterDocs