Apps Script può connettersi a database esterni tramite il servizio JDBC, un wrapper intorno alla tecnologia Java Database Connectivity. Il servizio JDBC supporta Google Cloud SQL per MySQL, MySQL, Microsoft SQL Server e i database Oracle.
Per aggiornare un database esterno con JDBC, lo script deve aprire una connessione al database e apportare le modifiche inviando istruzioni SQL.
Database Google Cloud SQL
Google Cloud SQL ti consente di creare database relazionali nel cloud di Google. Tieni presente che Cloud SQL potrebbe comportare costi in base all'utilizzo.
Puoi creare un'istanza Google Cloud SQL seguendo i passaggi elencati nella guida rapida di Cloud SQL.
Creazione di connessioni Google Cloud SQL
Esistono due modi per stabilire una connessione con un database Google Cloud SQL utilizzando il servizio JDBC di Apps Script:
- (Consigliato) Connessione tramite Jdbc.getCloudSqlConnection(url)
- Connessione tramite Jdbc.getConnection(url)
Questi metodi sono spiegati di seguito. Entrambi sono validi, ma il secondo metodo richiede l'autorizzazione di un insieme di intervalli IP per l'accesso al database.
Utilizzo di Jdbc.getCloudSqlConnection(url) (consigliato)
Questo metodo crea una connessione a un'istanza Google Cloud SQL per MySQL utilizzando il metodo Jdbc.getCloudSqlConnection(url). L'URL del database ha il formato jdbc:google:mysql://subname
, dove subname
è il nome della connessione dell'istanza MySQL
elencato nella pagina Panoramica dell'istanza Cloud SQL nella
console Google Cloud.
Per connetterti a Cloud SQL SQL Server, consulta Jdbc.getConnection(url).
Utilizzo di Jdbc.getConnection(url)
Per utilizzare questo metodo, devi autorizzare determinati intervalli di indirizzi IP Classless Inter-Domain Routing (CIDR) in modo che i server di Apps Script possano connettersi al tuo database. Prima di eseguire lo script, completa i seguenti passaggi:
Nella tua istanza Google Cloud SQL, autorizza gli intervalli IP, uno alla volta da questa origine dati.
Copia l'URL assegnato al tuo database. Dovrebbe avere il formato
jdbc:mysql:subname
.
Una volta autorizzati questi intervalli IP, puoi creare connessioni alla tua istanza Google Cloud SQL utilizzando uno dei metodi Jdbc.getConnection(url) e l'URL che hai copiato sopra.
Altri database
Se hai già un tuo database MySQL, Microsoft SQL Server o Oracle, puoi connetterti tramite il servizio JDBC di Apps Script.
Creare altre connessioni al database
Per creare una connessione al database utilizzando il servizio JDBC di Apps Script, nelle impostazioni del database devi autorizzare gli intervalli IP di questa origine dati.
Una volta create queste liste consentite, puoi creare una connessione al database utilizzando uno dei metodi Jdbc.getConnection(url) e l'URL del database.
Codice di esempio
Il codice di esempio riportato di seguito presuppone che tu ti stia connettendo a un database Google Cloud SQL e crea connessioni al database utilizzando il metodo Jdbc.getCloudSqlConnection(url). Per gli altri database devi utilizzare il metodo Jdbc.getConnection(url) per creare connessioni al database.
Per saperne di più sui metodi JDBC, consulta la documentazione Java per JDBC.
Crea un database, un utente e una tabella
La maggior parte degli sviluppatori utilizza lo
strumento a riga di comando MySQL per
creare database, utenti e tabelle. Tuttavia, è possibile fare la stessa cosa
in Apps Script, come mostrato di seguito. È consigliabile creare almeno un altro utente in modo che lo script non debba sempre connettersi al database come root
.
Scrivere nel database
Gli esempi riportati di seguito mostrano come scrivere un singolo record nel database e un batch di 500 record. Il batching è fondamentale per le operazioni collettive.
Tieni presente anche l'utilizzo di istruzioni parametrizzate, in cui le variabili sono
indicate da ?
. Per evitare
attacchi SQL injection, devi utilizzare
istruzioni parametrizzate per eseguire l'escape di tutti i dati forniti dall'utente.
Leggere dal database
Questo esempio mostra come leggere un numero elevato di record dal database, eseguendo un ciclo sul set di risultati in base alle necessità.
Chiusura delle connessioni
Le connessioni JDBC si chiudono automaticamente al termine dell'esecuzione di uno script. Tieni presente che una singola chiamata google.script.run
viene conteggiata come esecuzione completa, anche se la pagina del servizio HTML che ha effettuato la chiamata rimane aperta.
Tuttavia, se sai di aver terminato di utilizzare una connessione, un'istruzione o un insieme di risultati
prima della fine dello script, è consigliabile chiuderli manualmente chiamando
JdbcConnection.close()
,
JdbcStatement.close()
,
o
JdbcResultSet.close()
.
La visualizzazione di una finestra di dialogo di avviso o prompt termina anche tutte le connessioni JDBC aperte. Tuttavia, altri elementi dell'interfaccia utente di visualizzazione, come menu o finestre di dialogo personalizzati e barre laterali con contenuti personalizzati, non lo fanno.
Google, Google Workspace e i marchi e i loghi correlati sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle società a cui sono associati.