Categorieën bekijken

SQL-query's uitvoeren in Google Sheets zonder Apps Script JDBC

Google Sheets · SQL zonder Apps Script

Ren SQL in Google formulieren zonder Apps Script JDBC te schrijven

De JDBC-service van Apps Script werkt, en deze pagina laat je de eerlijke versie ervan zien: de code, de limiet van zes minuten, de IP-bereiken en het wachtwoord in het script. Vervolgens wordt de andere manier getoond: een kleine agent naast je database voert de SQL-query uit en een Google Sheets-add-on haalt de rijen op en plaatst ze in je spreadsheet. Geen JavaScript, geen wijzigingen in de firewall en het is inbegrepen bij het gratis abonnement.

Ongeveer 15 minuten Alleen SQL, geen JavaScript. Het wachtwoord blijft op uw netwerk. MySQL, PostgreSQL, SQL Server en meer.
Loop je ergens vast? Vraag het ons gerust. Open Ondersteuning Ga naar Query Streams (menu rechtsboven → Ondersteuning) en stuur ons een bericht. Echte mensen lezen het, en "Ik weet niet wat er op dit scherm wordt gevraagd" is een volkomen terechte vraag.

Als je Apps Script JDBC nog steeds wilt gebruiken, is dit de eerlijke versie.

Google's JDBC-service Hiermee kan Apps Script verbinding maken met MySQL, Google Cloud SQL voor MySQL, PostgreSQL, Microsoft SQL Server en Oracle. Het kleinste werkende script dat een spreadsheet vult, ziet er als volgt uit:

Apps Script · Code.gs
functie klanten laden() {
  constant rekwisieten = PropertiesService.getScriptProperties();          // Houd het wachtwoord buiten de code
  constant verbinding = Jdbc.verbinding tot stand brengen('jdbc:mysql://db.example.com:3306/sales'rekwisieten.getEigenschap('DB_USER'), rekwisieten.getEigenschap('DB_PASS'));
  constant rs = verbinding.createStatement().uitvoerenQuery('SELECT customer_id, name, city FROM customers LIMIT 1000');
  constant rijen = [];
  terwijl (rs.volgende()) rijen.duw([rs.getString(1), rs.getString(2), rs.getString(3)]); rs.dichtbij(); verbinding.dichtbij();
  constant blad = Spreadsheet-app.getActiveSpreadsheet().getSheetByName('Klanten'); laken.inhoud wissen(); laken.bereik(1, 1, rijen.lengte, 3).setValues(rijen); }

Het voorbeeld maakt gebruik van MySQL. Voor de andere database-engines hoeft alleen de verbindingsreeks te worden aangepast: jdbc:postgresql://, jdbc:sqlserver:// en jdbc:oracle:thin:@ volgen dezelfde vorm, en Cloud SQL gebruikt jdbc:google:mysql://Voordat dat kan, moet uw database verbindingen van de servers van Google accepteren. Google publiceert de adresbereiken als een JSON-bestand die je toevoegt aan je databasefirewall en die je in stand moet houden, en de database moet luisteren op poort 1025 of hoger. De beperkingen die in de praktijk van invloed zijn, komen van Google. quotapagina:

BeperkenPersoonlijk Google-accountGoogle Workspace-account
Scriptuitvoeringstijd, per uitvoering6 minuten6 minuten
Aangepaste functie-runtime (een formule die JDBC aanroept)30 seconden30 seconden
JDBC-verbindingen per dag10,00050,000
Gelijktijdige uitvoeringen per gebruiker3030
Tijdsgestuurde triggers, totale looptijd per dag90 minuten6 uur

Twee dingen worden in het bovenstaande voorbeeld verzwegen. Google zelf geeft de gebruikersnaam en het wachtwoord als platte tekst door in de code, en de meeste scripts kopiëren dat; de truc met de scripteigenschappen zorgt ervoor dat ze niet in de broncode terechtkomen, maar iedereen die het script kan bewerken, kan ze nog steeds lezen. Bovendien moet elke rij in het geheugen van het script passen en binnen zes minuten worden verwerkt, dus een trage query of een grote tabel betekent dat het werk handmatig moet worden opgedeeld. Als uw tabel klein is, uw database al via internet bereikbaar is en één ontwikkelaar verantwoordelijk is voor het script, is JDBC prima. De rest van deze pagina is voor alle anderen.

Wat je uiteindelijk in plaats daarvan krijgt

Google Sheets-logoEen Google Sheet met het resultaat van een SQL-query op je database, inclusief een Query uitvoeren Een knop in het zijpaneel waarmee je de meest recente rijen kunt ophalen wanneer je maar wilt. Zoals dit:

Het verschil zit hem in waar de query wordt uitgevoerd. Bij JDBC openen de servers van Google een verbinding met je database, waardoor je firewall toegang moet verlenen en het script het wachtwoord moet bewaren. Bij Query Streams draait een klein programma, de Agent, op een computer die al toegang heeft tot de database. Deze Agent maakt één uitgaande verbinding met Query Streams en voert daar de SQL-query uit. De Google Sheets-add-on vraagt om de rijen en alleen de rijen worden verzonden. Er wordt niets geopend in je firewall en het wachtwoord verlaat de Agent nooit.

WAAR DE DATABASE ZICH BEVINDTuw kantoornetwerk of serverruimteUw eigen databaseblijft op uw netwerkQuery Streams Agentop hetzelfde netwerkQuery-stromenversleutelde linkvia internet · alleen resultatenWAAR JE OOK BENTElke browser: laptop, tablet, telefoon, ChromebookGoogle formulierenrijen worden in een vel geleverd
De Agent werkt samen met uw gegevens. Uw spreadsheet staat in de cloud van Google. Open hem waar u maar wilt en de rijen worden automatisch weergegeven.

Wat je nodig hebt

Een Query Streams-account

Het gratis abonnement is voldoende voor deze handleiding. Meld je aan via mijn.querystreams.nl.

De agent bevindt zich op een computer die de server kan bereiken.

Een klein programma dat op de achtergrond draait en de database raadpleegt wanneer Google Sheets daarom vraagt. Vaak is dit de databaseserver zelf, of een computer die altijd aan staat in hetzelfde netwerk.

Uw eigen verbindingsgegevens

De servernaam, de databasenaam en een gebruikersnaam en wachtwoord waarmee de database kan worden gelezen. Als iemand anders de database beheert, moet je deze gegevens aan die persoon vragen.

Welke computer krijgt de agent? Elke machine die altijd aan staat en al toegang heeft tot uw eigen database, vaak de databaseserver zelf of een computer in hetzelfde netwerk. Google Sheets kan overal zijn.Het wordt in je browser uitgevoerd.

Stel het in vier stappen in.

  1. Maak uw account aan

    Ga naar mijn.querystreams.nl en meld je aan met het Google-account dat je voor Sheets gebruikt. Kies de Gratis plan. Het is een echt plan, geen proefproject, en het omvat twee verbindingen en ad-hoc SQL vanuit Google Sheets.

  2. Installeer de agent op een computer die de server kan bereiken.

    Aanmelden, openen DownloadInstalleer de agent op een machine die al toegang heeft tot uw database: vaak de databaseserver zelf, of een computer die altijd aan staat in hetzelfde netwerk. Dit duurt een minuut en de agent start daarna automatisch.

    Waarom een klein programma in plaats van een driver? De agent is een eenmalige installatie voor Windows, Mac of Linux (ongeveer 85 MB op Windows, iets meer dan 100 MB op Mac en Linux) die stil op de achtergrond draait. Het maakt één uitgaande, versleutelde verbinding met Query Streams, net zoals een browser dat doet, dus u hoeft geen firewallpoort te openen en geen VPN in te stellen. Uw database blijft op uw netwerk en de rijen worden naar uw locatie verzonden, indien nodig via internet. Het enige dat u nodig heeft, is de add-on.

    De downloadpagina toont Uw toegangssleutelPlak het in de Agent wanneer daarom wordt gevraagd en wacht tot de badge is weergegeven. Verbonden met querystreamsDat is het enige wat je op de agent zelf doet.

    Complete walkthroughs zijn beschikbaar als je die wilt: Windows, Mac, Linux.

  3. Voeg uw databaseverbinding toe

    Open het portaal Gegevens → Gegevensagenten, klik Connector toevoegen Selecteer op uw agent het databasetype en vul de host, poort, database en een alleen-lezen login in. Klik Testverbinding, dan SlaDe verbinding bereikt de agent binnen enkele seconden. Elke database heeft zijn eigen stappenplan met de exacte velden: MySQL, PostgreSQL, SQL Server, OracleCloud SQL, Amazon RDS en Azure-databases maken op dezelfde manier verbinding; de agent hoeft ze alleen maar te kunnen bereiken.

    Geen IP-adressen op de whitelist. De agent maakt vanuit uw eigen netwerk verbinding met uw database en verzendt uitgaande querystreams via HTTPS. Er is geen lijst met Google-adressen die aan de firewall moet worden toegevoegd en er is verder niets om rekening mee te houden.

  4. Voer de SQL-query uit vanuit Google Sheets.

    Open uw spreadsheet en Installeer de Query Streams-add-on. Download de app vanuit de Google Workspace Marketplace als je dat nog niet hebt gedaan. De app herkent het Google-account waarmee je al bent aangemeld; je hoeft niet apart in te loggen. Klik in het zijpaneel op Query StreamerKies je verbinding en plak dezelfde SELECT-query die je in het script zou hebben gebruikt:

    Voorbeeld · SQL
    SELECT klant-ID, naam, stad
    VAN klanten
    VOLGORDE DOOR naam
    LIMIET 1000;

    Kies het tabblad onder Bestemmingsblad en klik Query uitvoerenDe rijen komen onder uw kolomkoppen te staan. Klik Query uitvoeren U kunt de gegevens opnieuw ophalen wanneer u maar wilt. Om het werkblad automatisch te laten vernieuwen, slaat u de query op in Query Builder en stelt u een Automatisering, die het uitvoert volgens een schema dat varieert van elke vijf minuten tot wekelijks.

Dat is alles. Uw gegevens staan in het spreadsheet en worden met één klik bijgewerkt. Er is niets van uw netwerk verwijderd, behalve de rijen die u hebt opgevraagd.

Naast elkaar, alleen dat wat standhoudt.

Apps Script JDBCQuery-stromen
Wat je schrijftJavaScript rondom je SQL-queryDe SQL
Waar de query wordt uitgevoerdOp de servers van Google maakt u verbinding met uw database.Op de Agent, naast uw database
DatabasewachtwoordIn het script of de bijbehorende eigenschappen, leesbaar voor iedereen die het kan bewerken.Alleen zichtbaar voor de agent; Sheets-gebruikers zien het nooit.
FirewallSta de door Google gepubliceerde adresbereiken toe, poort 1025 of hoger.Geen inkomende berichten; de agent maakt via HTTPS verbinding.
Tijdslimiet6 minuten per uitvoering, 30 seconden voor een aangepaste functie.Geen script dat een time-out kan bereiken; de agent voert de query uit en streamt de rijen.
Quota's10.000 of 50.000 JDBC-verbindingen per dag, 90 minuten of 6 uur triggertijdEen maandelijkse datalimiet per abonnement, vanaf 5 MB bij het gratis abonnement.
De gegevens aan een collega gevenKopieer het script en de bijbehorende inloggegevens.Deel de resultaten van de query; de ontvanger voert deze uit, maar ziet nooit de inloggegevens.
Vernieuwen volgens een vast schemaTijdgestuurde trigger binnen het dagelijkse runtimequotumAutomatisering, elke 5 minuten tot wekelijks
DatabasesMySQL, Cloud SQL, PostgreSQL, SQL Server, OracleDie vijf plus MariaDB, Snowflake, BigQuery, SQLite, Access, DuckDB, mappen met bestanden en API's zoals Stripe, HubSpot en Shopify.

Wat de plannen toestaan

Ad-hoc SQL vanuit de Google Sheets-add-on is beschikbaar in alle abonnementen, inclusief het gratis abonnement. Het gratis abonnement omvat twee verbindingen en een maandelijkse datalimiet van 5 MB aan resultaten, voldoende voor een tabel zoals de bovenstaande die meerdere keren per dag wordt vernieuwd. Het uitvoeren van query's die u hebt opgeslagen in Query Builder vanuit de add-on is mogelijk vanaf Personal Core; query's die een collega met u deelt, werken in alle abonnementen. Bekijk de prijspagina. voor de vergoedingen per plan.

Gratis is een abonnement dat je behoudt. Het is geen proefperiode die verloopt. Bekijk precies wat het inhoudt op de website. prijspagina.

Vragen die mensen stellen

Kan ik mijn bestaande Apps Script behouden en alleen het wachtwoordprobleem oplossen?

Ja. Verplaats de gebruikersnaam en het wachtwoord naar de scripteigenschappen, zoals in het bovenstaande voorbeeld, en geef de database-login alleen-leesrechten. Dat lost het ergste probleem op. Het verandert niets aan de limiet van zes minuten, het dagelijkse verbindingsquotum of de firewall-whitelist, en daarom verplaatsen de meeste mensen de query uit Apps Script zodra het spreadsheet voor meer dan één persoon relevant is.

Moet de agent op de databaseserver draaien?

Nee. Elke computer die altijd aan staat en de database kan bereiken, werkt: een werkstation op kantoor, een kleine virtuele machine of de server zelf. Het enige wat nodig is, is uitgaand HTTPS naar Query Streams.

Is er een limiet voor het aantal rijen, vergelijkbaar met de geheugenlimiet van JDBC?

De agent streamt rijen in plaats van het hele resultaat in een script op te slaan. De praktische limieten worden daarom bepaald door de datalimiet van je abonnement en Google Sheets zelf, dat een spreadsheet beperkt tot 20 miljoen cellen (10 miljoen voor accounts die nog niet zijn opgenomen in de uitrol van Google in september 2026). Beperk de SELECT-query tot de kolommen en het datumbereik dat je nodig hebt, en je blijft binnen de perken.

Ik gebruik Cloud SQL. Maakt dat iets uit?

Alleen waar de agent draait. Plaats deze op een computer of virtuele machine die de Cloud SQL-instantie kan bereiken, via het openbare IP-adres met het geautoriseerde adres van de agent, of binnen hetzelfde netwerk, en verbind deze als MySQL, PostgreSQL of SQL Server. Er is geen Google-adresbereik dat beheerd hoeft te worden.

Moet uw eigen database op dezelfde computer staan als waarop ik Sheets gebruik?

Nee. Alleen de agent hoeft zich op dezelfde locatie te bevinden als uw eigen database. Google Sheets werkt in uw browser op elk apparaat. Open de add-on met hetzelfde Google-account en uw connecties zijn daar beschikbaar.

Worden mijn gegevens naar Query Streams gekopieerd?

Nee. De agent voert de query uit op de locatie waar uw gegevens zich bevinden en verzendt alleen de rijen die worden geretourneerd. Er vindt tussendoor geen synchronisatie of opslag plaats.

Is dit echt inbegrepen bij het gratis abonnement?

Ja. Gratis is een abonnement dat je behoudt, geen proefperiode die verloopt. Bekijk precies wat het inhoudt op de website. prijspagina.

Wordt het werkblad automatisch vernieuwd?

Klik nogmaals op 'Query uitvoeren' wanneer u de meest recente rijen wilt ophalen. Voor een spreadsheet die automatisch wordt vernieuwd volgens een schema, zonder dat iemand iets hoeft te doen, kunt u een automatisering instellen in de Query Streams-portal (Streams → Automatisering). Deze functie is beschikbaar in alle abonnementen.

Zit je nog steeds vast? Open Ondersteuning Ga naar Query Streams en laat ons weten in welke stap u zich bevindt en wat u ziet. Dan zorgen wij ervoor dat u verbonden wordt.
Query Streams verbindt dezelfde gegevens ook metExcelClaude, Cursor en ChatGPTeen REST APIen meer

Setup trouble?

  • Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?
Geüpdatet op 27 september 2026

Mogelijk gemaakt door BetterDocs