Apps Script dapat terhubung ke database eksternal melalui layanan JDBC, yaitu sebuah wrapper seputar teknologi Java Database Connectivity standar. Layanan JDBC mendukung database Google Cloud SQL untuk MySQL, MySQL, Microsoft SQL Server, dan Oracle.
Untuk memperbarui database eksternal dengan JDBC, skrip Anda harus membuka koneksi ke database, lalu membuat perubahan dengan mengirim pernyataan SQL.
Database Google Cloud SQL
Google Cloud SQL memungkinkan Anda membuat database relasional yang berada di cloud Google. Perhatikan bahwa Cloud SQL mungkin menimbulkan biaya berdasarkan penggunaan Anda.
Anda dapat membuat instance Google Cloud SQL dengan mengikuti langkah-langkah yang tercantum dalam mulai cepat Cloud SQL.
Membuat koneksi Google Cloud SQL
Ada dua cara untuk membuat koneksi dengan database Google Cloud SQL menggunakan layanan JDBC Apps Script:
- (Direkomendasikan) Menghubungkan menggunakan Jdbc.getCloudSqlConnection(url)
- Menghubungkan menggunakan Jdbc.getConnection(url)
Metode ini dijelaskan di bawah. Keduanya valid, tetapi metode kedua mengharuskan Anda mengizinkan serangkaian rentang IP untuk mengakses database Anda.
Menggunakan Jdbc.getCloudSqlConnection(url) (direkomendasikan)
Metode ini membuat koneksi ke instance MySQL di Google Cloud SQL menggunakan metode Jdbc.getCloudSqlConnection(url). URL database memiliki bentuk jdbc:google:mysql://subname
, dengan subname
adalah Nama koneksi instance MySQL yang tercantum di halaman Ringkasan instance Cloud SQL di Konsol Google Cloud.
Untuk terhubung ke Cloud SQL SQL Server, lihat Jdbc.getConnection(url).
Menggunakan Jdbc.getConnection(url)
Untuk menggunakan metode ini, Anda harus mengizinkan rentang alamat IP Classless Inter-Domain Routing (CIDR) tertentu agar server Apps Script dapat terhubung ke database Anda. Sebelum menjalankan skrip, selesaikan langkah-langkah berikut:
Di instance Google Cloud SQL Anda, otorisasi rentang IP, satu per satu dari sumber data ini.
Salin URL yang ditetapkan ke database Anda; URL tersebut harus memiliki format
jdbc:mysql:subname
.
Setelah mengizinkan rentang IP ini, Anda dapat membuat koneksi ke instance Google Cloud SQL menggunakan salah satu metode Jdbc.getConnection(url) dan URL yang Anda salin di atas.
Database lainnya
Jika sudah memiliki database MySQL, Microsoft SQL Server, atau Oracle sendiri, Anda dapat terhubung ke database tersebut melalui layanan JDBC Apps Script.
Membuat koneksi database lainnya
Untuk membuat koneksi database menggunakan layanan JDBC Apps Script, di setelan database, Anda harus mengizinkan rentang IP dari sumber data ini.
Setelah daftar yang diizinkan ini diterapkan, Anda dapat membuat koneksi ke database menggunakan salah satu metode Jdbc.getConnection(url) dan URL database Anda.
Kode contoh
Contoh kode di bawah mengasumsikan Anda terhubung ke database Google Cloud SQL, dan membuat koneksi database menggunakan metode Jdbc.getCloudSqlConnection(url). Untuk database lain, Anda harus menggunakan metode Jdbc.getConnection(url) untuk membuat koneksi database.
Untuk mengetahui informasi selengkapnya tentang metode JDBC, lihat dokumentasi Java untuk JDBC.
Buat database, pengguna, dan tabel
Sebagian besar developer menggunakan
alat command line MySQL untuk
membuat database, pengguna, dan tabel. Namun, Anda dapat melakukan hal yang sama di Apps Script, seperti yang ditunjukkan di bawah. Sebaiknya buat setidaknya satu pengguna lain agar skrip Anda tidak selalu harus terhubung ke database sebagai root
.
Menulis ke database
Contoh di bawah menunjukkan cara menulis satu rekaman ke database serta batch 500 rekaman. Pengelompokan sangat penting untuk operasi massal.
Perhatikan juga penggunaan pernyataan berparameter, yang variabelnya
ditandai dengan ?
. Untuk mencegah
serangan injeksi SQL, Anda harus menggunakan
pernyataan berparameter untuk meng-escape semua data yang disediakan pengguna.
Membaca dari database
Contoh ini menunjukkan cara membaca sejumlah besar data dari database, dengan melakukan loop pada kumpulan hasil sesuai kebutuhan.
Menutup koneksi
Koneksi JDBC akan ditutup secara otomatis saat skrip selesai dieksekusi. (Perlu diingat bahwa satu panggilan google.script.run
dihitung sebagai eksekusi lengkap, meskipun halaman layanan HTML yang melakukan panggilan tetap terbuka.)
Namun, jika Anda tahu bahwa Anda telah selesai menggunakan koneksi, pernyataan, atau set hasil sebelum akhir skrip, sebaiknya tutup secara manual dengan memanggil
JdbcConnection.close()
,
JdbcStatement.close()
,
atau
JdbcResultSet.close()
.
Menampilkan dialog peringatan atau perintah juga akan menghentikan koneksi JDBC yang terbuka. Namun, elemen UI lain yang ditampilkan—seperti menu atau dialog kustom dan sidebar dengan konten kustom—tidak.
Google, Google Workspace, serta merek dan logo terkait adalah merek dagang dari Google LLC. Semua nama perusahaan dan produk lainnya adalah merek dagang dari masing-masing perusahaan yang bersangkutan.