Bieg SQL W Arkusze Google bez pisania Apps Script JDBC
Usługa JDBC Apps Script działa, a ta strona pokazuje Ci jej prawdziwą wersję: kod, limit sześciu minut, zakresy adresów IP, hasło w skrypcie. Następnie pokazuje drugą stronę: mały agent obok Twojej bazy danych uruchamia SQL, a dodatek do Arkuszy Google pobiera wiersze do arkusza. Bez JavaScriptu, bez zmian w zaporze sieciowej, a plan darmowy obejmuje to wszystko.
Jeśli nadal chcesz Apps Script JDBC, oto uczciwa wersja
Google'a Usługa JDBC Łączy Apps Script z MySQL, Google Cloud SQL dla MySQL, PostgreSQL, Microsoft SQL Server i Oracle. Najmniejszy działający skrypt wypełniający arkusz wygląda tak:
funkcjonować załaduj klientów() { stała rekwizyty = Usługi Właściwości.pobierzWłaściwościSkryptu(); // nie umieszczaj hasła w kodzie stała połączenie = Jdbc.pobierzPołączenie('jdbc:mysql://db.example.com:3306/sales', rekwizyty.pobierzWłasność('UŻYTKOWNIK_DB'), rekwizyty.pobierzWłasność('DB_PASS')); stała rs = połączenie.createStatement().wykonaj zapytanie('WYBIERZ identyfikator_klienta, imię, miasto Z klientów LIMIT 1000'); stała wiersze = []; chwila (rupii)Następny()) wierszy.naciskać([rs.pobierzString(1), rs.pobierzString(2), rs.pobierzString(3)]); rs.zamknąć(); połączenie.zamknąć(); stała arkusz = Arkusz kalkulacyjny.pobierzAktywnyArkusz().pobierzArkuszWedługNazwy('Klienci'); arkusz.wyczyść zawartość(); arkusz.pobierzZakres(1, 1, długość wierszy, 3).ustaw wartości(wiersze); }
W przykładzie użyto MySQL. W przypadku innych silników zmienia się tylko ciąg połączenia: jdbc:postgresql://, jdbc:sqlserver:// oraz jdbc:oracle:thin:@ podążają za tym samym kształtem, a Cloud SQL używa jdbc:google:mysql://. Zanim to nastąpi, Twoja baza danych musi akceptować połączenia z serwerów Google. Google publikuje zakresy adresów jako Plik JSON które dodajesz do zapory sieciowej bazy danych i z którymi musisz się utożsamiać, a baza danych musi nasłuchiwać na porcie 1025 lub wyższym. Ograniczenia, które w praktyce obowiązują, pochodzą od Google. strona kwot:
| Limit | Osobiste konto Google | Konto Google Workspace |
|---|---|---|
| Czas wykonania skryptu na wykonanie | 6 minut | 6 minut |
| Środowisko wykonawcze funkcji niestandardowych (formuła wywołująca JDBC) | 30 sekund | 30 sekund |
| Połączenia JDBC dziennie | 10,000 | 50,000 |
| Jednoczesne wykonania na użytkownika | 30 | 30 |
| Wyzwalacze sterowane czasem, całkowity czas wykonania na dzień | 90 minut | 6 godzin |
Powyższy przykład ukrywa dwie rzeczy. Przykłady Google'a przekazują nazwę użytkownika i hasło jako zwykłe ciągi znaków w kodzie, a większość skryptów w trybie "dzikim" to kopiuje; sztuczka z właściwościami skryptu utrzymuje je poza kodem źródłowym, ale każdy, kto może edytować skrypt, nadal może je odczytać. Każdy wiersz musi zmieścić się w pamięci skryptu i zakończyć działanie w ciągu sześciu minut, więc powolne zapytanie lub szeroka tabela oznacza ręczne dzielenie pracy na części. Jeśli Twoja tabela jest mała, baza danych jest już dostępna z internetu, a jeden z programistów jest właścicielem skryptu, JDBC jest w porządku. Reszta tej strony jest przeznaczona dla wszystkich pozostałych.
Co w zamian otrzymasz?
Arkusz Google zawierający wynik zapytania SQL do bazy danych z Uruchom zapytanie przycisk w panelu bocznym, który pobiera najnowsze wiersze, kiedy tylko chcesz. Na przykład:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | customer_id | imię | nazwisko | kraj | całkowity |
| 2 | 1042 | Maria | Álvarez | USA | 1,284.50 |
| 3 | 1043 | Daniel | Okafor | USA | 612.00 |
| 4 | 1047 | Priya | Nair | USA | 2,090.75 |
| 5 | 1051 | Tomasz | Góra | USA | 338.20 |
| 6 | 1056 | Lucía | Ferreira | USA | 1,455.00 |
| 7 | 1060 | Kenji | Sato | USA | 874.10 |
| 8 |
Na żywo z Twojej bazy danychRóżnica polega na tym, gdzie uruchamiane jest zapytanie. W przypadku JDBC serwery Google otwierają połączenie z bazą danych, więc zapora sieciowa musi je przepuścić, a skrypt musi przechowywać hasło. W przypadku Query Streams, niewielki program o nazwie Agent działa na komputerze, który ma już dostęp do bazy danych, nawiązuje jedno połączenie wychodzące do Query Streams i uruchamia tam zapytanie SQL. Dodatek Google Sheets pyta o wiersze i przesyła tylko wiersze. Nic nie jest otwierane na zaporze sieciowej, a hasło nigdy nie opuszcza agenta.
Czego będziesz potrzebować
Konto Query Streams
Plan darmowy wystarczy do tego poradnika. Zarejestruj się na my.querystreams.com.
Agent na komputerze, który może połączyć się z serwerem
Mały program, który działa w tle i wysyła zapytania do bazy danych, gdy Arkusze Google o to proszą. Często jest to sam serwer bazy danych lub dowolny stale aktywny komputer w tej samej sieci.
Twoje własne dane połączenia
Nazwa serwera, nazwa bazy danych oraz nazwa użytkownika i hasło umożliwiające jej odczyt. Jeśli ktoś inny zarządza bazą danych, należy go o to zapytać.
Który komputer ma Agenta? Każda maszyna stale włączona, która może uzyskać dostęp do własnej bazy danych, często jest to sam serwer bazy danych lub komputer w tej samej sieci. Arkusze Google mogą być dostępne wszędzie; działa w Twojej przeglądarce.
Skonfiguruj w czterech krokach
-
Utwórz swoje konto
Przejdź do my.querystreams.com i zarejestruj się za pomocą konta Google, którego używasz do Arkuszy. Wybierz Bezpłatny plan. To prawdziwy plan, a nie wersja próbna, obejmujący dwa połączenia i ad-hoc SQL z Arkuszy Google.
Zainstaluj agenta na komputerze, który może połączyć się z serwerem



Zaloguj się, otwórz Pobieraći zainstaluj agenta na komputerze, który ma już dostęp do Twojej bazy danych: często jest to sam serwer bazy danych lub dowolny komputer stale aktywny w tej samej sieci. Zajmuje to minutę i od tego momentu uruchamia się automatycznie.
Dlaczego mały program, a nie sterownik? Agent to pojedyncza instalacja dla systemów Windows, Mac lub Linux (około 85 MB w systemie Windows, nieco ponad 100 MB w systemach Mac i Linux), która działa cicho w tle. Nawiązuje jedno szyfrowane połączenie wychodzące do strumieni zapytań, tak jak robi to przeglądarka, więc nie otwierasz portu zapory sieciowej ani nie konfigurujesz sieci VPN. Twoja baza danych pozostaje w Twojej sieci, a wiersze danych przesyłane są do Ciebie, gdziekolwiek jesteś, przez internet, jeśli zajdzie taka potrzeba. Jedyne, co musisz zrobić, to zainstalować dodatek.
Strona pobierania pokazuje Twój klucz dostępuWklej to do agenta, gdy o to poprosi i poczekaj, aż odznaka zostanie odczytana Połączono ze strumieniami zapytańTo jest jedyna rzecz, którą robisz na samym Agencie.
Pełne opisy przejść, jeśli ich potrzebujesz: Okna, Prochowiec, Linux.
-
Dodaj połączenie z bazą danych
W portalu otwórz Dane → Agenci danych, kliknij Dodaj złącze W swoim agencie wybierz typ bazy danych i wpisz hosta, port, bazę danych i login tylko do odczytu. Kliknij Połączenie testowe, a następnie ZapiszPołączenie dociera do agenta w ciągu kilku sekund. Każda baza danych ma swój własny przewodnik z dokładnymi polami: MySQL, PostgreSQL, SQL Server, OracleBazy danych Cloud SQL, Amazon RDS i Azure łączą się w ten sam sposób, agent musi tylko mieć do nich dostęp.
Brak listy dozwolonych adresów IP. Agent łączy się z bazą danych z sieci oraz ze strumieniami zapytań wychodzącymi przez HTTPS. Nie ma listy adresów Google, którą trzeba dodać do zapory sieciowej, ani niczego, z czym trzeba by się mierzyć.
-
Uruchom SQL z Arkuszy Google
Otwórz arkusz kalkulacyjny i zainstaluj dodatek Query Streams Z Google Workspace Marketplace, jeśli jeszcze tego nie zrobiłeś. Rozpoznaje konto Google, na którym jesteś już zalogowany; nie ma osobnego logowania. W panelu bocznym kliknij Streamer zapytań, wybierz połączenie i wklej ten sam SELECT, który umieściłbyś w skrypcie:
Przykład · SQLSELECT customer_id, nazwa, miasto Z klienci ZAMÓWIENIE PRZEZ nazwa LIMIT 1000;
Wybierz zakładkę poniżej Arkusz docelowy i kliknij Uruchom zapytanieWiersze znajdują się pod nagłówkami kolumn. Kliknij Uruchom zapytanie ponownie, gdy potrzebujesz najnowszych danych. Aby arkusz odświeżył się automatycznie, zapisz zapytanie w Kreatorze zapytań i skonfiguruj Automatyzacja, który uruchamia go według harmonogramu co pięć minut lub co tydzień.
To wszystko. Twoje dane znajdują się w arkuszu i są aktualizowane jednym kliknięciem. Nic nie opuściło Twojej sieci poza wierszami, o które prosiłeś.
Obok siebie, tylko to, co się trzyma
| Skrypt aplikacji JDBC | Strumienie zapytań | |
|---|---|---|
| Co piszesz | JavaScript wokół Twojego SQL | SQL |
| Gdzie jest uruchamiane zapytanie | Na serwerach Google, łącząc się z Twoją bazą danych | W Agencie, obok Twojej bazy danych |
| Hasło do bazy danych | W skrypcie lub jego właściwościach, czytelny dla każdego, kto może go edytować | Tylko w Agencie; użytkownicy Arkuszy nigdy tego nie widzą |
| Zapora sieciowa | Zezwalaj na opublikowane zakresy adresów Google, port 1025 lub wyższy | Brak połączeń przychodzących; agent łączy się przez HTTPS |
| Limit czasu | 6 minut na wykonanie, 30 sekund w przypadku funkcji niestandardowej | Brak skryptu, który mógłby przekroczyć limit czasu; agent uruchamia zapytanie i przesyła strumieniowo wiersze |
| Kwoty | 10 000 lub 50 000 połączeń JDBC dziennie, 90 minut lub 6 godzin czasu wyzwalania | Miesięczny limit danych na każdy plan, od 5 MB w przypadku planu bezpłatnego |
| Przekazanie danych współpracownikowi | Skopiuj skrypt i dane uwierzytelniające | Udostępnij wyniki zapytania; odbiorca je uruchomi i nigdy nie zobaczy danych logowania |
| Odświeżaj według harmonogramu | Wyzwalacz sterowany czasem w ramach dziennego limitu czasu wykonania | Automatyzacja co 5 minut lub co tydzień |
| Bazy danych | MySQL, Cloud SQL, PostgreSQL, SQL Server, Oracle | Te pięć plus MariaDB, Snowflake, BigQuery, SQLite, Access, DuckDB, foldery plików i interfejsy API, takie jak Stripe, HubSpot i Shopify |
Co pozwalają plany
Ad-hoc SQL z dodatku Arkusze Google jest dostępny w każdym planie, w tym w wersji bezpłatnej. Wersja bezpłatna obejmuje dwa połączenia i miesięczny limit danych 5 MB wyników, co wystarcza na tabelę taką jak ta powyżej, odświeżaną wiele razy dziennie. Uruchamianie zapytań zapisanych w Kreatorze zapytań z dodatku rozpoczyna się od poziomu Personal Core; zapytania udostępnione przez współpracownika są uruchamiane w każdym planie. Zobacz stronę z cennikiem dla dodatków według planu.
Za darmo to plan, którego się trzymasz. To nie jest okres próbny, który wygasa. Zobacz dokładnie, co obejmuje. strona z cenami.
Pytania, które zadają ludzie
Czy mogę zachować istniejący skrypt aplikacji i rozwiązać tylko problem z hasłem?
Tak. Przenieś nazwę użytkownika i hasło do właściwości skryptu, jak w powyższym przykładzie, i nadaj logowaniu do bazy danych uprawnienia tylko do odczytu. To rozwiązuje najgorszy problem. Nie zmienia to limitu sześciu minut, dziennego limitu połączeń ani listy dozwolonych w zaporze, dlatego większość osób przenosi zapytanie poza Apps Script, gdy arkusz ma znaczenie dla więcej niż jednej osoby.
Czy Agent musi działać na serwerze bazy danych?
Nie. Działa każdy komputer stale aktywny, który ma dostęp do bazy danych: stacja robocza w biurze, mała maszyna wirtualna lub sam serwer. Do obsługi strumieni zapytań potrzebny jest tylko wychodzący protokół HTTPS.
Czy istnieje limit wierszy, taki jak limit pamięci JDBC?
Agent przesyła strumieniowo wiersze, zamiast przechowywać cały wynik w skrypcie, więc praktyczne limity to limit danych w Twoim planie i sam Arkusz Google, który ogranicza arkusz kalkulacyjny do 20 milionów komórek (10 milionów na kontach, których wdrożenie Google we wrześniu 2026 roku jeszcze nie osiągnęło). Zachowaj SELECT dla potrzebnych kolumn i zakresu dat, a oba będą komfortowe.
Korzystam z Cloud SQL. Czy to coś zmienia?
Tylko tam, gdzie działa agent. Umieść go na komputerze lub maszynie wirtualnej, która może połączyć się z instancją Cloud SQL, albo przez swój adres publiczny z autoryzowanym adresem agenta, albo w tej samej sieci, i połącz go z MySQL, PostgreSQL lub SQL Server. Nie ma konieczności utrzymywania zakresu adresów Google.
Czy Twoja baza danych musi znajdować się na komputerze, na którym korzystam z Arkuszy?
Nie. Tylko Agent musi być w miejscu, gdzie znajduje się Twoja baza danych. Arkusze Google działają w przeglądarce na dowolnym urządzeniu. Otwórz dodatek za pomocą tego samego konta Google, a Twoje połączenia będą dostępne.
Czy moje dane zostaną skopiowane do strumieni zapytań?
Nie. Agent uruchamia zapytanie, w którym znajdują się Twoje dane, i wysyła tylko zwrócone wiersze. Nic nie jest synchronizowane ani przechowywane pomiędzy nimi.
Czy plan darmowy naprawdę to obejmuje?
Tak. Darmowy plan to taki, który możesz zachować, a nie okres próbny, który wygasa. Sprawdź dokładnie, co obejmuje. strona z cenami.
Czy arkusz odświeża się sam?
Kliknij ponownie „Uruchom zapytanie”, gdy chcesz uzyskać najnowsze wiersze. Aby arkusz odświeżał się zgodnie z harmonogramem, bez konieczności naciskania klawiszy, skonfiguruj automatyzację w portalu Strumienie zapytań (Strumienie → Automatyzacja). Jest ona dostępna w każdym planie.
Powiązane przewodniki
Setup trouble?
- Agent shows Offline, or Test connection and Browse are greyed out? Check that the Agent is online → Is the Agent online?

