Se inhabilitaron las versiones 1.0 y 1.1 del protocolo de seguridad TLS. Para establecer conexiones, usa TLS 1.2 o versiones posteriores.
Google Apps Script puede conectarse a bases de datos externas a través del servicio de JDBC, un wrapper de la tecnología estándar de la conectividad a bases de datos de Java. El servicio de JDBC admite bases de datos de Google Cloud SQL para MySQL, MySQL, Microsoft SQL Server, Oracle y PostgreSQL.
Si tu hoja de cálculo está creciendo demasiado o tienes problemas de tiempo de espera con cálculos complejos, mover tus datos a una base de datos externa puede mejorar significativamente el rendimiento y la confiabilidad.
Para actualizar una base de datos externa con JDBC, tu secuencia de comandos debe abrir una conexión a la base de datos y, luego, realizar cambios mediante el envío de instrucciones de SQL.
Bases de datos de Google Cloud SQL
Google Cloud SQL te permite crear bases de datos relacionales que residen en la nube de Google. Cloud SQL puede generar cargos según tu uso.
Para crear una instancia de Google Cloud SQL, sigue los pasos que se indican en la guía de inicio rápido de Cloud SQL.
Crea conexiones de Google Cloud SQL
Existen dos formas de establecer una conexión con una base de datos de Google Cloud SQL mediante el servicio de JDBC de Apps Script:
- (Recomendado) Conexión con Jdbc.getCloudSqlConnection
- Conexión con Jdbc.getConnection
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.
Usa Jdbc.getCloudSqlConnection (recomendado)
Este método crea una conexión a una instancia de MySQL de Google Cloud SQL con el
Jdbc.getCloudSqlConnection. La URL de la base de datos tiene el formato jdbc:google:mysql://subname, donde
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 la consola de Google Cloud.
Para conectarte a Cloud SQL SQL Server, consulta Jdbc.getConnection.
Usa Jdbc.getConnection
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, completa los siguientes pasos:
En tu 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; debe tener el formato
jdbc:mysql:subname.
Una vez que hayas autorizado estos rangos de IP, crea conexiones a tu instancia de Google Cloud SQL con uno de los Jdbc.getConnection y la URL que copiaste antes.
Otras bases de datos
Si ya tienes tu propia base de datos de MySQL, Microsoft SQL Server, Oracle o PostgreSQL, conéctate a ella a través del servicio de JDBC de Apps Script.
Crea otras conexiones de bases de datos
Para crear una conexión de base de datos con el servicio de JDBC de Apps Script, debes autorizar los rangos de IP de esta fuente de datos en la configuración de tu base de datos.
El servicio de JDBC solo puede conectarse a los puertos 1025 o versiones posteriores. Asegúrate de que tu base de datos no esté publicando en un puerto inferior.
Una vez que se hayan implementado estas listas de entidades permitidas, crea una conexión a la base de datos con uno de los Jdbc.getConnection 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 bases de datos con el método Jdbc.getCloudSqlConnection. Para otras bases de datos, debes usar el Jdbc.getConnection para crear conexiones de bases de datos.
Para 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, es posible hacer lo mismo en Apps Script, como se muestra en el siguiente ejemplo. Crea al menos otro usuario para que tu secuencia de comandos no siempre tenga que conectarse a la base de datos como root.
Realiza operaciones de escritura en la base de datos
En los siguientes ejemplos, se muestra cómo escribir un solo registro en la base de datos, así como un lote de 500 registros. El procesamiento por lotes es fundamental para las operaciones masivas.
Se usan instrucciones parametrizadas, en las que las variables se indican con ?. Para
evitar ataques de inyección de SQL,
usa instrucciones parametrizadas para escapar todos los datos proporcionados por el usuario.
Realiza operaciones de lectura desde la base de datos
En este ejemplo, se muestra cómo leer una gran cantidad de registros de la base de datos y cómo iterar sobre el conjunto de resultados según sea necesario.
Cierra conexiones
Las conexiones de JDBC se cierran automáticamente cuando finaliza la ejecución de una secuencia de comandos. (Las llamadas únicas
google.script.run se consideran una
ejecución completa, incluso si la página del servicio HTML que realizó la llamada permanece
abierta).
Sin embargo, si sabes que terminaste con una conexión, una instrucción o un conjunto de resultados
antes de que finalice la secuencia de comandos, ciérralos de forma manual llamando a
JdbcConnection.close,
JdbcStatement.close,
o
JdbcResultSet.close.
Mostrar un diálogo de alerta o de solicitud también finaliza cualquier conexión de JDBC abierta. Sin embargo, otros elementos de la IU que se muestran, como menús o diálogos personalizados y barras laterales con contenido personalizado, no lo hacen.
Google, Google Workspace y las marcas y los logotipos relacionados son marcas de Google LLC. Todos los demás nombres de productos y empresas son marcas comerciales de las empresas con las que se encuentran asociados.