Apps Script può connettersi a database esterni tramite Servizio JDBC, un wrapper attorno al modello Tecnologia Java Database Connectivity. Il servizio JDBC supporta Google Cloud SQL per MySQL, MySQL, Microsoft SQL Server e Oracle.
Per aggiornare un database esterno con JDBC, lo script deve aprire una connessione al database e apportarvi modifiche inviando istruzioni SQL.
Database Google Cloud SQL
Google Cloud SQL ti consente di creare database relazionali che risiedono nel cloud di Google. Tieni presente che Cloud SQL potrebbero comportare costi in base all'utilizzo.
Puoi creare un'istanza Google Cloud SQL seguendo i passaggi elencati in Guida rapida di Cloud SQL.
Creazione di connessioni Google Cloud SQL
Ci sono 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 descritti di seguito. Entrambi sono validi, ma il secondo metodo richiede l'autorizzazione di un insieme di intervalli IP per l'accesso al database.
Con Jdbc.getCloudSqlConnection(url) (consigliato)
Questo metodo crea una connessione a un'istanza MySQL di Google Cloud SQL utilizzando Jdbc.getCloudSqlConnection(url)
. L'URL del database ha il formato jdbc:google:mysql://subname
, dove subname
è il Nome connessione istanza di MySQL
elencato nella pagina Panoramica dell'istanza Cloud SQL nella
Console Google Cloud.
Per connetterti a Cloud SQL SQL Server, vedi Jdbc.getConnection(url).
Utilizzo di Jdbc.getConnection(url)
Per utilizzare questo metodo, devi autorizzare determinate Routing senza classe tra domini (CIDR) Intervalli di indirizzi IP 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, autorizzare gli intervalli IP, uno alla volta da questa origine dati.
Copia l'URL assegnato al tuo database. dovrebbe avere modulo
jdbc:mysql:subname
.
Dopo aver autorizzato questi intervalli IP, puoi creare connessioni al tuo l'istanza Google Cloud SQL utilizzando uno dei Jdbc.getConnection(url) e l'URL che hai copiato in precedenza.
Altri database
Se hai già un database MySQL, Microsoft SQL Server o Oracle, puoi connetterti tramite il servizio JDBC di Apps Script.
Creazione di altre connessioni di database
Per creare una connessione a un database utilizzando Apps Script Servizio JDBC, nelle impostazioni del database devi autorizzare gli intervalli IP da questa origine dati.
Dopo aver creato queste liste consentite, puoi creare una connessione al database utilizzando uno dei Jdbc.getConnection(url) e l'URL del database.
Codice di esempio
Il codice campione seguente presuppone che ti stia connettendo a un database Google Cloud SQL. e crea connessioni al database utilizzando Jdbc.getCloudSqlConnection(url) . Per altri database devi usare la classe Jdbc.getConnection(url) per creare le connessioni ai database.
Per ulteriori informazioni sui metodi JDBC, consulta Documentazione Java per JDBC.
Crea un database, un utente e una tabella
La maggior parte degli sviluppatori utilizza
strumento a riga di comando MySQL per
creare database, utenti e tabelle. Tuttavia, puoi fare lo stesso
in Apps Script, come mostrato di seguito. Conviene crearne almeno uno
a un altro utente, così non sempre lo script deve connettersi al database
root
.
Scrivi nel database
I seguenti esempi mostrano come scrivere un singolo record nel database come e un batch di 500 record. Il raggruppamento in batch è fondamentale per le operazioni collettive.
Si noti anche l'uso di istruzioni con parametri, in cui le variabili vengono
indicato con ?
. Per evitare
attacchi di SQL injection, è consigliabile utilizzare
istruzioni con parametri per eseguire l'escape di tutti i dati forniti dall'utente.
Leggi dal database
Questo esempio mostra come leggere un numero elevato di record dal eseguendo il loop sul set di risultati in base alle esigenze.
Chiusura delle connessioni in corso...
Le connessioni JDBC si chiudono automaticamente al termine dell'esecuzione di uno script. (Mantieni dentro
tieni presente che una singola google.script.run
viene conteggiata un'esecuzione completa, anche se la pagina del servizio HTML che ha effettuato
rimane aperta.)
Tuttavia, se sai di aver terminato con una connessione, un'istruzione o un set di risultati,
prima della fine dello script, è una buona idea chiuderli manualmente chiamando
JdbcConnection.close()
,
JdbcStatement.close()
,
o
JdbcResultSet.close()
Visualizzazione di una finestra di dialogo di avviso o richiesta termina anche tutte le connessioni JDBC aperte. Tuttavia, anche altri elementi dell'interfaccia utente come menu o finestre di dialogo e barre laterali personalizzati con contenuti, non lo fa.
Google, Google Workspace e i rispettivi marchi e loghi sono marchi di Google LLC Tutti gli altri nomi di società e prodotti sono marchi delle società a cui sono associati.