View Categories

Menjalankan SQL di Google Sheets Tanpa Apps Script JDBC

Google Sheets · SQL tanpa Apps Script

Jalankan SQL di dalam Lembar Kerja Google tanpa menulis Apps Script JDBC

Layanan JDBC Apps Script berfungsi, dan halaman ini menunjukkan versi sebenarnya: kode, batasan enam menit, rentang IP, dan kata sandi dalam skrip. Kemudian, halaman ini menunjukkan cara lain: sebuah Agent kecil di samping basis data Anda menjalankan SQL, dan add-on Google Sheets menarik baris-baris data ke dalam spreadsheet Anda. Tanpa JavaScript, tanpa perubahan firewall, dan paket Gratis sudah mencakup semuanya.

Sekitar 15 menit Hanya SQL, tanpa JavaScript. Kata sandi tetap berada di jaringan Anda. MySQL, PostgreSQL, SQL Server, dan lainnya
Mengalami kesulitan di suatu titik? Tanyakan saja pada kami. Membuka Dukungan Di Query Streams (menu kanan atas → Dukungan) dan kirimkan pesan kepada kami. Ada orang sungguhan yang membacanya, dan "Saya tidak tahu apa yang diminta layar ini" adalah pertanyaan yang sangat wajar.

Jika Anda masih menginginkan Apps Script JDBC, berikut versi jujurnya.

Google Layanan JDBC Menghubungkan Apps Script ke MySQL, Google Cloud SQL untuk MySQL, PostgreSQL, Microsoft SQL Server, dan Oracle. Skrip terkecil yang berfungsi dan mengisi sebuah lembar kerja terlihat seperti ini:

Apps Script · Code.gs
fungsi memuat Pelanggan() {
  konstanta properti = Layanan Properti.getScriptProperties();          // Jauhkan kata sandi dari kode
  konstanta koneksi = Jdbc.mendapatkan koneksi('jdbc:mysql://db.example.com:3306/sales', properti.mendapatkan properti('DB_USER'), properti.mendapatkan properti('DB_PASS'));
  konstanta rs = koneksi.buat pernyataan().jalankanPermintaan('SELECT customer_id, name, city FROM customers LIMIT 1000');
  konstanta baris = [];
  ketika (rs.Berikutnya()) baris.dorongan([rs.mendapatkan string(1), rs.mendapatkan string(2), rs.mendapatkan string(3)]); rs.menutup(); koneksi.menutup();
  konstanta lembar = Aplikasi Spreadsheet.getActiveSpreadsheet().dapatkanSheetByName('Pelanggan'); lembaran.Hapus Isi(); lembaran.mendapatkan rentang(1, 1, panjang baris, 3).menetapkan nilai(baris); }

Contoh ini menggunakan MySQL. Untuk mesin pencari lainnya, hanya string koneksi yang berubah: jdbc:postgresql://, jdbc:sqlserver:// dan jdbc:oracle:tipis:@ mengikuti bentuk yang sama, dan Cloud SQL menggunakan jdbc:google:mysql://Sebelum proses tersebut berjalan, basis data Anda harus menerima koneksi dari server Google. Google menerbitkan rentang alamat sebagai sebuah berkas JSON yang Anda tambahkan ke firewall basis data Anda dan selalu Anda pantau, dan basis data harus mendengarkan pada port 1025 atau lebih tinggi. Batasan yang menjadi kendala dalam praktiknya berasal dari Google. halaman kuota:

MembatasiAkun Google pribadiAkun Google Workspace
Waktu eksekusi skrip, per eksekusi6 menit6 menit
Runtime fungsi kustom (rumus yang memanggil JDBC)30 detik30 detik
Koneksi JDBC per hari10,00050,000
Eksekusi simultan per pengguna3030
Pemicu berbasis waktu, total waktu berjalan per hari90 menit6 jam

Ada dua hal yang disembunyikan oleh contoh di atas. Contoh dari Google sendiri mengirimkan nama pengguna dan kata sandi sebagai string biasa dalam kode, dan sebagian besar skrip di luar sana menyalinnya; trik properti skrip membuatnya tetap berada di luar kode sumber, tetapi siapa pun yang dapat mengedit skrip masih dapat membacanya. Dan setiap baris harus muat dalam memori skrip dan selesai dalam waktu enam menit, jadi kueri yang lambat atau tabel yang lebar berarti membagi pekerjaan secara manual. Jika tabel Anda kecil, basis data Anda sudah dapat diakses dari internet, dan satu pengembang memiliki skrip tersebut, JDBC tidak masalah. Bagian selanjutnya dari halaman ini ditujukan untuk semua orang lainnya.

Inilah yang akan Anda dapatkan sebagai gantinya.

Logo Google SheetsGoogle Sheet yang menyimpan hasil kueri SQL terhadap basis data Anda, dengan Jalankan Query Tombol di panel samping yang akan menampilkan baris terbaru kapan pun Anda membutuhkannya. Seperti ini:

Perbedaannya terletak pada tempat kueri dijalankan. Dengan JDBC, server Google membuka koneksi ke basis data Anda, sehingga firewall Anda harus mengizinkannya masuk dan skrip harus menyimpan kata sandi. Dengan Query Streams, sebuah program kecil bernama Agent berjalan di komputer yang sudah dapat mengakses basis data, membuat satu koneksi keluar ke Query Streams, dan menjalankan SQL di sana. Add-on Google Sheets meminta baris dan hanya baris yang dikirim. Tidak ada yang dibuka di firewall Anda, dan kata sandi tidak pernah meninggalkan Agent.

DI MANA BASIS DATA BERADAjaringan kantor atau ruang server AndaBasis data Anda sendiritetap berada di jaringan AndaAgen Aliran Kueripada jaringan yang samaAliran Kueritautan terenkripsimelalui internet · hanya hasilDIMANAPUN KAMU BERADASemua browser: laptop, tablet, ponsel, ChromebookLembar Kerja Googlebaris tiba dalam sebuah lembar
Agen tersebut hidup bersama data Anda. Spreadsheet Anda tersimpan di cloud Google. Buka di mana saja dan baris-baris data akan muncul untuk Anda.

Yang Anda butuhkan

Akun Query Streams

Paket gratis sudah cukup untuk panduan ini. Daftar di sini. my.querystreams.com.

Agen berada di komputer yang dapat terhubung ke server.

Sebuah program kecil yang berjalan di latar belakang dan melakukan kueri ke basis data ketika Google Sheets memintanya. Seringkali server basis data itu sendiri, atau komputer mana pun yang selalu aktif di jaringan yang sama.

Detail koneksi Anda sendiri

Nama server, nama basis data, serta nama pengguna dan kata sandi yang dapat membacanya. Jika ada orang lain yang mengelola basis data, inilah bagian yang perlu Anda minta dari mereka.

Komputer mana yang mendapatkan Agen? Mesin apa pun yang selalu aktif dan sudah dapat mengakses basis data Anda sendiri, seringkali server basis data itu sendiri atau komputer di jaringan yang sama. Google Sheets bisa berada di mana saja.; itu berjalan di browser Anda.

Siapkan dalam empat langkah

  1. Buat akun Anda

    Pergi ke my.querystreams.com lalu daftar dengan akun Google yang Anda gunakan untuk Sheets. Pilih Gratis rencana. Ini adalah rencana nyata, bukan percobaan, dan mencakup dua koneksi dan SQL ad-hoc dari Google Sheets.

  2. Instal Agen pada komputer yang dapat terhubung ke server.

    Masuk, buka Unduh, dan instal Agen pada mesin yang sudah dapat mengakses basis data Anda: seringkali server basis data itu sendiri, atau komputer yang selalu aktif di jaringan yang sama. Proses ini hanya membutuhkan waktu satu menit dan akan berjalan dengan sendirinya setelah itu.

    Mengapa menggunakan program kecil alih-alih driver? Agent ini merupakan instalasi tunggal untuk Windows, Mac, atau Linux (sekitar 85 MB di Windows, sedikit lebih dari 100 MB di Mac dan Linux) yang berjalan diam-diam di latar belakang. Agent ini membuat satu koneksi keluar terenkripsi ke Query Streams, sama seperti yang dilakukan browser, sehingga Anda tidak perlu membuka port firewall dan mengatur VPN. Basis data Anda tetap berada di jaringan Anda, dan baris data dikirim ke mana pun Anda berada, melalui internet jika perlu. Satu-satunya hal yang Anda perlukan adalah add-on ini.

    Halaman Unduhan menampilkan Kunci Akses AndaTempelkan ke dalam Agent saat diminta, dan tunggu hingga badge terbaca. Terhubung ke Aliran KueriItulah satu-satunya hal yang Anda lakukan pada Agent itu sendiri.

    Panduan lengkap jika Anda menginginkannya: Windows, Mac, Linux.

  3. Tambahkan koneksi basis data Anda

    Di portal terbuka Data → Agen Data, klik Tambahkan konektor Pada Agent Anda, pilih tipe database dan isi host, port, database, dan login hanya baca. Klik Uji koneksi, Kemudian SimpanKoneksi akan mencapai Agen dalam beberapa detik. Setiap basis data memiliki panduan tersendiri dengan kolom-kolom yang tepat: MySQL, PostgreSQL, SQL Server, OracleCloud SQL, Amazon RDS, dan basis data Azure terhubung dengan cara yang sama; Agen hanya perlu dapat menjangkau basis data tersebut.

    Tidak ada daftar IP yang diizinkan. Agen terhubung ke basis data Anda dari dalam jaringan Anda dan ke Query Streams keluar melalui HTTPS. Tidak ada daftar alamat Google yang perlu ditambahkan ke firewall dan tidak ada yang perlu dipantau.

  4. Jalankan SQL dari Google Sheets

    Buka spreadsheet Anda dan instal add-on Query Streams Unduh dari Google Workspace Marketplace jika Anda belum melakukannya. Aplikasi ini mengenali akun Google yang sudah Anda masuki; tidak ada login terpisah. Di panel samping, klik Pengalir Kueri, pilih koneksi Anda, dan tempelkan perintah SELECT yang sama seperti yang akan Anda masukkan dalam skrip:

    Contoh · SQL
    PILIH ID pelanggan, nama, kota
    DARI pelanggan
    MEMESAN OLEH nama
    BATAS 1000;

    Pilih tab di bawah Lembar Tujuan lalu klik Jalankan QueryBaris-baris tersebut akan muncul di bawah judul kolom Anda. Klik Jalankan Query Ulangi lagi kapan pun Anda menginginkan data terbaru. Untuk membuat lembar kerja diperbarui secara otomatis, simpan kueri di Query Builder dan atur sebuah Otomatisasiyang menjalankannya sesuai jadwal mulai dari setiap lima menit hingga mingguan.

Itu saja. Data Anda ada di lembar kerja dan selalu diperbarui hanya dengan satu klik. Tidak ada data yang keluar dari jaringan Anda kecuali baris yang Anda minta.

Bersebelahan, hanya yang tahan banting

Apps Script JDBCAliran Kueri
Apa yang kamu tulisJavaScript di sekitar SQL AndaSQL
Di mana kueri dijalankanDi server Google, terhubung ke basis data AndaPada Agent, di sebelah basis data Anda
Kata sandi basis dataDalam naskah atau propertinya, yang dapat dibaca oleh siapa pun yang dapat mengeditnya.Hanya untuk pengguna Agent; pengguna Sheets tidak pernah melihatnya.
FirewallIzinkan rentang alamat yang dipublikasikan oleh Google, port 1025 atau lebih tinggi.Tidak ada lalu lintas masuk; Agen terhubung keluar melalui HTTPS.
Batas waktu6 menit per eksekusi, 30 detik untuk fungsi kustom.Tidak ada skrip yang akan habis waktu; Agen menjalankan kueri dan mengalirkan baris data.
Kuota10.000 atau 50.000 koneksi JDBC per hari, waktu pemicu 90 menit atau 6 jam.Kuota data bulanan per paket, mulai dari 5 MB pada paket Gratis.
Memberikan data tersebut kepada seorang kolega.Salin skrip tersebut, beserta kredensialnya.Bagikan hasil kueri; penerima menjalankannya, tanpa pernah melihat informasi login.
Perbarui sesuai jadwalPemicu berbasis waktu di dalam kuota waktu eksekusi harianOtomatisasi, setiap 5 menit hingga mingguan
DatabaseMySQL, Cloud SQL, PostgreSQL, SQL Server, OracleKelima hal tersebut ditambah MariaDB, Snowflake, BigQuery, SQLite, Access, DuckDB, folder file, dan API seperti Stripe, HubSpot, dan Shopify.

Apa yang diizinkan oleh rencana tersebut

SQL ad-hoc dari add-on Google Sheets tersedia di semua paket, termasuk paket Gratis. Paket Gratis mencakup dua koneksi dan kuota data bulanan sebesar 5 MB hasil, cukup untuk tabel seperti di atas yang diperbarui beberapa kali sehari. Menjalankan kueri yang Anda simpan di Query Builder dari add-on dimulai dari paket Personal Core; kueri yang dibagikan oleh kolega Anda dapat dijalankan di semua paket. Lihat halaman harga. untuk tunjangan berdasarkan rencana.

Gratis adalah rencana yang bisa Anda pertahankan. Ini bukan masa percobaan yang berakhir. Lihat detail lengkapnya di sini. halaman harga.

Pertanyaan yang diajukan orang

Bisakah saya tetap menggunakan Apps Script yang sudah ada dan hanya memperbaiki masalah kata sandi?

Ya. Pindahkan nama pengguna dan kata sandi ke properti skrip seperti pada contoh di atas, dan berikan hak akses baca saja pada login basis data. Itu memperbaiki sebagian besar masalahnya. Ini tidak mengubah batas waktu enam menit, kuota koneksi harian, atau daftar izin firewall, yang merupakan alasan mengapa kebanyakan orang memindahkan kueri keluar dari Apps Script setelah lembar kerja tersebut penting bagi lebih dari satu orang.

Apakah Agent harus dijalankan di server basis data?

Tidak. Komputer apa pun yang selalu aktif dan dapat mengakses basis data dapat digunakan: workstation di kantor, mesin virtual kecil, atau server itu sendiri. Hanya perlu HTTPS keluar untuk mengakses Query Streams.

Apakah ada batasan jumlah baris seperti batasan memori pada JDBC?

Agen tersebut mengalirkan baris data daripada menyimpan seluruh hasil dalam skrip, sehingga batasan praktisnya adalah kuota data paket Anda dan Google Sheets itu sendiri, yang membatasi spreadsheet hingga 20 juta sel (10 juta pada akun yang belum terjangkau oleh peluncuran Google September 2026). Pertahankan perintah SELECT pada kolom dan rentang tanggal yang Anda butuhkan, dan keduanya akan tetap nyaman.

Saya menggunakan Cloud SQL. Apakah itu mengubah sesuatu?

Hanya di tempat Agent dijalankan. Letakkan di komputer atau mesin virtual yang dapat menjangkau instance Cloud SQL, baik melalui alamat publiknya dengan alamat Agent yang telah diotorisasi, atau di dalam jaringan yang sama, dan hubungkan sebagai MySQL, PostgreSQL, atau SQL Server. Tidak ada rentang alamat Google yang perlu dikelola.

Apakah basis data Anda sendiri harus berada di komputer yang saya gunakan untuk Sheets?

Tidak. Hanya Agen yang harus berada di tempat basis data Anda sendiri berada. Google Sheets berjalan di browser Anda di perangkat apa pun. Buka add-on dengan akun Google yang sama dan koneksi Anda akan tersedia.

Apakah data saya disalin ke Query Streams?

Tidak. Agen menjalankan kueri di tempat data Anda berada dan hanya mengirimkan baris yang dikembalikan. Tidak ada yang disinkronkan atau disimpan di antaranya.

Apakah paket gratis benar-benar mencakup hal ini?

Ya. Gratis adalah paket yang bisa Anda pertahankan, bukan uji coba yang akan berakhir. Lihat detail lengkapnya di sini. halaman harga.

Apakah lembar kerja tersebut diperbarui secara otomatis?

Klik Jalankan Kueri lagi setiap kali Anda menginginkan baris terbaru. Untuk lembar kerja yang diperbarui sesuai jadwal tanpa perlu menekan tombol apa pun, atur Otomatisasi di portal Aliran Kueri (Aliran → Otomatisasi). Fitur ini tersedia di semua paket.

Masih bingung? Membuka Dukungan Di Query Streams, beri tahu kami Anda berada di langkah mana dan apa yang Anda lihat. Kami akan menghubungkan Anda.
Query Streams juga menghubungkan data yang sama keExcelClaude, Kursor, dan ChatGPTAPI RESTdan lainnya

Setup trouble?

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

Powered by BetterDocs