Apps Script puede conectarse a bases de datos externas a través del servicio JDBC, un wrapper de la tecnología de Conectividad a bases de datos de Java estándar. El servicio de JDBC es compatible con las bases de datos de Google Cloud SQL para MySQL, MySQL, Microsoft SQL Server y Oracle.
Para actualizar una base de datos externa con JDBC, la secuencia de comandos debe abrir una conexión a la base de datos y, luego, enviar cambios mediante instrucciones de SQL.
Bases de datos de Google Cloud SQL
Google Cloud SQL te permite crear bases de datos relacionales que se encuentran en la nube de Google. Ten en cuenta que Cloud SQL puede generar cargos según tu uso.
Para crear una instancia de Google Cloud SQL, sigue los pasos que se enumeran en la guía de inicio rápido de Cloud SQL.
Crea conexiones de Google Cloud SQL
Existen dos maneras de establecer una conexión con una base de datos de Google Cloud SQL mediante el servicio JDBC de Apps Script:
- (Recomendado) Cómo conectarse con Jdbc.getCloudSqlConnection(url)
- Conexión mediante Jdbc.getConnection(url)
Estos métodos se explican a continuación. Ambos son válidos, pero el segundo método requiere que autorices un conjunto de rangos de IP para acceder a tu base de datos.
Mediante Jdbc.getCloudSqlConnection(url) (recomendado)
Este método crea una conexión a una instancia de MySQL en Google Cloud SQL mediante el método Jdbc.getCloudSqlConnection(url). La URL de la base de datos tiene el formato jdbc:google:mysql://subname
, en el que subname
es el nombre de conexión de la instancia de MySQL que aparece en la página Descripción general de la instancia de Cloud SQL en Google Cloud Console.
Para conectarse a SQL Server de Cloud SQL, consulte Jdbc.getConnection(url).
Usa Jdbc.getConnection(url)
Para usar este método, debes autorizar ciertos rangos de direcciones IP de enrutamiento entre dominios sin clases (CIDR) para que los servidores de Apps Script puedan conectarse a tu base de datos. Antes de ejecutar la secuencia de comandos, complete los siguientes pasos:
En la instancia de Google Cloud SQL, autoriza los rangos de IP, uno a la vez desde esta fuente de datos.
Copia la URL que se asignó a tu base de datos. Debería tener el formato
jdbc:mysql:subname
.
Una vez que hayas autorizado estos rangos de IP, puedes crear conexiones a tu instancia de Google Cloud SQL mediante uno de los métodos Jdbc.getConnection(url) y la URL que copiaste antes.
Otras bases de datos
Si ya tienes tu propia base de datos MySQL, Microsoft SQL Server o de Oracle, puedes conectarte a ella a través del servicio JDBC de Apps Script.
Crea otras conexiones de base de datos
Para crear una conexión de base de datos mediante el servicio JDBC de Apps Script, en la configuración de la base de datos, debes autorizar los rangos de IP de esta fuente de datos.
Una vez que estén incluidas en la lista de entidades permitidas, puedes crear una conexión a la base de datos mediante uno de los métodos Jdbc.getConnection(url) y la URL de tu base de datos.
Código de muestra
En el siguiente código de muestra, se supone que te conectas a una base de datos de Google Cloud SQL y se crean conexiones de base de datos con el método Jdbc.getCloudSqlConnection(url). Para otras bases de datos, debes usar el método Jdbc.getConnection(url) a fin de crear conexiones de bases de datos.
Si deseas obtener más información sobre los métodos de JDBC, consulta la documentación de Java para JDBC.
Crea una base de datos, un usuario y una tabla
La mayoría de los desarrolladores usan la herramienta de línea de comandos de MySQL para crear bases de datos, usuarios y tablas. Sin embargo, puedes hacer lo mismo en Apps Script, como se muestra a continuación. Se recomienda crear al menos otro usuario para que la secuencia de comandos no siempre se conecte a la base de datos como root
.
Escribir en la base de datos
En los siguientes ejemplos, se muestra cómo escribir un registro único en la base de datos y un lote de 500 registros. El procesamiento por lotes es vital para las operaciones masivas.
También ten en cuenta el uso de instrucciones parametrizadas, en las que las variables se denotan con ?
. A fin de evitar los ataques de inyección de SQL, debes usar declaraciones parametrizadas para escapar todos los datos que proporcionan los usuarios.
Leer desde la base de datos
En este ejemplo, se muestra cómo leer una gran cantidad de registros de la base de datos y repetir el conjunto de resultados según sea necesario.
Cierra conexiones
Las conexiones de JDBC se cierran automáticamente cuando una secuencia de comandos termina de ejecutarse. (ten en cuenta que una sola llamada a google.script.run
cuenta como una ejecución completa, incluso si la página de servicio HTML que realizó la llamada permanece abierta).
Sin embargo, si sabes que terminaste con una conexión, una declaración o un conjunto de resultados antes del final de la secuencia de comandos, te recomendamos que los cierres manualmente llamando a JdbcConnection.close()
, JdbcStatement.close()
o JdbcResultSet.close()
.
Si muestras un diálogo de alerta o un mensaje, también finalizarás las conexiones de JDBC abiertas. Sin embargo, otros elementos que muestran elementos de la IU, como menús personalizados o diálogos y barras laterales con contenido personalizado, no lo hacen.
Google, Google Workspace y las marcas y los logotipos relacionados son marcas de Google LLC. Los demás nombres de productos y empresas son marcas de las empresas con las que están asociados.