JDBC
Apps Script dapat terhubung ke basis data eksternal melalui layanan JDBC , pembungkus seputar teknologi Java Database Connectivity standar . Layanan JDBC mendukung database Google Cloud SQL , MySQL, Microsoft SQL Server, dan Oracle.
Untuk memperbarui database eksternal dengan JDBC, skrip Anda harus membuka koneksi ke database dan kemudian membuat perubahan dengan mengirimkan pernyataan SQL.
Database Google Cloud SQL
Google Cloud SQL memungkinkan Anda membuat basis data relasional yang hidup di cloud Google. Perhatikan bahwa, tidak seperti Apps Script, Cloud SQL tidak gratis .
Anda dapat membuat instance Google Cloud SQL Generasi Kedua dengan mengikuti langkah-langkah yang tercantum dalam Cloud SQL Quickstart . Jika Anda memiliki instance Generasi Pertama yang ada, Anda dapatmemigrasikannya ke instance Generasi Kedua .
Membuat koneksi Google Cloud SQL
Ada dua cara membangun koneksi dengan database Google Cloud SQL menggunakan layanan JDBC Apps Script :
- (Disarankan) Menghubungkan menggunakan Jdbc.getCloudSqlConnection (url)
- Menghubungkan menggunakan Jdbc.getConnection (url)
Metode-metode ini dijelaskan di bawah ini. Keduanya valid, tetapi metode kedua mengharuskan Anda memasukkan daftar rentang IP untuk mengakses daftar putih.
Menggunakan Jdbc.getCloudSqlConnection (url) (disarankan)
Metode ini membuat koneksi ke instance Google Cloud SQL menggunakan salah satu metode Jdbc.getCloudSqlConnection (url) . URL database memiliki bentuk baik
jdbc:google:mysql:subname
ataujdbc:google:rdbms:subname
, di mana subname
adalah nama koneksi Instance terdaftar di Cloud SQL contoh Ikhtisar halaman di Landasan Konsol Google Cloud .Menggunakan Jdbc.getConnection (url)
Untuk menggunakan metode ini, Anda harus memasukkan daftar rentang CIDR IP alamat tertentu sehingga server Apps Script dapat terhubung ke database Anda. Sebelum menjalankan skrip Anda, selesaikan langkah-langkah berikut:
-
64.18.0.0/20 64.233.160.0/19 66.102.0.0/20 66.249.80.0/20 72.14.192.0/18 74.125.0.0/16 173.194.0.0/16 207.126.144.0/20 209.85.128.0/17 216.239.32.0/19
- Salin URL yang ditugaskan ke basis data Anda; itu harus memiliki formulir
jdbc:mysql:subname
.
Setelah Anda memasukkan daftar rentang IP ini, Anda dapat membuat koneksi ke instance Google Cloud SQL Anda menggunakan salah satu metode Jdbc.getConnection (url) dan URL yang Anda salin di atas.
Database lain
Jika Anda sudah memiliki database MySQL, Microsoft SQL Server, atau Oracle Anda sendiri, Anda bisa menghubungkannya melalui layanan JDBC Apps Script.
Membuat koneksi basis data lainnya
Untuk membuat koneksi basis data menggunakan layanan JDBC, Anda harus memasukkan daftar rentang IP tertentu dalam pengaturan basis data Anda untuk memungkinkan Apps Script mengaksesnya. Ini adalah rentang alamat yang harus Anda daftar putih:
64.18.0.0 - 64.18.15.255
64.233.160.0 - 64.233.191.255
66.102.0.0 - 66.102.15.255
66.249.80.0 - 66.249.95.255
72.14.192.0 - 72.14.255.255
74.125.0.0 - 74.125.255.255
173.194.0.0 - 173.194.255.255
207.126.144.0 - 207.126.159.255
209.85.128.0 - 209.85.255.255
216.239.32.0 - 216.239.63.255
Setelah daftar putih ini ada, Anda dapat membuat koneksi ke database menggunakan salah satu metodeJdbc.getConnection (url) dan URL basis data Anda.
Kode sampel
Kode sampel di bawah ini 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.
Buat database, pengguna, dan tabel
Sebagian besar pengembang menggunakan alat baris perintah MySQL untuk membuat database, pengguna, dan tabel. Namun, dimungkinkan untuk melakukan hal yang sama di Script Aplikasi, seperti yang ditunjukkan di bawah ini. Merupakan ide bagus untuk membuat setidaknya satu pengguna lain sehingga skrip Anda tidak harus selalu terhubung ke database
root
.Menulis ke basis data
Contoh di bawah ini menunjukkan cara menulis satu catatan ke database serta kumpulan 500 catatan. Batching sangat penting untuk operasi massal.
Perhatikan juga penggunaan pernyataan parameter, di mana variabel dilambangkan dengan
?
. Untuk mencegahinjeksi SQL , Anda harus menggunakan pernyataan parameter untuk menghindari semua data yang disediakan pengguna.Baca dari basis data
Contoh ini menunjukkan cara membaca sejumlah besar catatan dari database, mengulangi hasil yang ditetapkan sebagaimana diperlukan.
Menutup koneksi
Koneksi JDBC ditutup secara otomatis ketika skrip selesai dijalankan. (Ingatlah bahwa satu
google.script.run
panggilan dianggap sebagai eksekusi yang lengkap, bahkan jika halaman layanan HTML yang membuat panggilan tetap terbuka.)
Meskipun demikian, jika Anda tahu Anda selesai dengan koneksi, pernyataan, atau mengatur hasil sebelum akhir script, itu ide yang baik untuk menutup secara manual dengan menelepon
JdbcConnection.close()
,JdbcStatement.close()
atau JdbcResultSet.close()
.
Menampilkan dialog lansiran atau prompt juga akan mengakhiri koneksi JDBC yang terbuka. Namun, elemen lain yang menampilkan UI — seperti menu atau dialog khusus dan bilah sisi dengan konten khusus — tidak.
0 komentar