As versões 1.0 e 1.1 do protocolo de segurança TLS estão desativadas. Para estabelecer conexões, use o TLS 1.2 ou uma versão mais recente.
O Google Apps Script consegue se conectar a bancos de dados externos pelo serviço JDBC, um wrapper que usa a tecnologia Java Database Connectivity padrão. O serviço JDBC é compatível com o Google Cloud SQL para MySQL, MySQL, Microsoft SQL Server, Oracle e bancos de dados PostgreSQL.
Se a planilha estiver ficando muito grande ou você estiver enfrentando problemas de tempo limite com cálculos complexos, mover os dados para um banco de dados externo pode melhorar significativamente o desempenho e a confiabilidade.
Para atualizar um banco de dados externo com JDBC, seu script precisa abrir uma conexão com o banco de dados e fazer mudanças enviando instruções SQL.
Bancos de dados do Google Cloud SQL
Com o Google Cloud SQL, é possível criar bancos de dados relacionais que ficam na nuvem do Google. O Cloud SQL pode gerar cobranças com base no seu uso.
Crie uma instância do Google Cloud SQL seguindo as etapas listadas no guia de início rápido do Cloud SQL.
Criar conexões do Google Cloud SQL
Há duas maneiras de estabelecer uma conexão com um banco de dados do Google Cloud SQL usando o serviço JDBC do Apps Script:
- (Recomendado) Conectar usando Jdbc.getCloudSqlConnection
- Como se conectar usando Jdbc.getConnection
Os dois são válidos, mas o segundo método exige que você autorize um conjunto de intervalos de IP para acessar seu banco de dados.
Use Jdbc.getCloudSqlConnection (recomendado)
Esse método cria uma conexão com uma instância do MySQL do Google Cloud SQL usando o método Jdbc.getCloudSqlConnection. O URL do banco de dados tem a forma jdbc:google:mysql://subname, em que subname é o Nome da conexão da instância do MySQL listado na página Visão geral da instância do Cloud SQL no console do Google Cloud.
Para se conectar ao Cloud SQL SQL Server, consulte Jdbc.getConnection.
Use Jdbc.getConnection
Para usar esse método, é necessário autorizar determinados intervalos de endereços IP de roteamento entre domínios sem classe (CIDR) para que os servidores do Apps Script possam se conectar ao seu banco de dados. Antes de executar o script, siga estas etapas:
Na sua instância do Google Cloud SQL, autorize os intervalos de IP, um de cada vez, desta fonte de dados.
Copie o URL atribuído ao seu banco de dados. Ele deve ter o formato
jdbc:mysql:subname.
Depois de autorizar esses intervalos de IP, crie conexões com sua instância do Google Cloud SQL usando um dos métodos Jdbc.getConnection e o URL copiado anteriormente.
Outros bancos de dados
Se você já tem seu próprio banco de dados MySQL, Microsoft SQL Server, Oracle ou PostgreSQL, conecte-se a ele usando o serviço JDBC do Apps Script.
Criar outras conexões de banco de dados
Para criar uma conexão de banco de dados usando o serviço JDBC do Apps Script, nas configurações do banco de dados, autorize os intervalos de IP da fonte de dados.
O serviço JDBC só pode se conectar às portas 1025 ou posteriores. Verifique se o banco de dados não está sendo veiculado em uma porta inferior.
Depois que essas listas de permissões forem criadas, crie uma conexão com o banco de dados usando um dos métodos Jdbc.getConnection e o URL do banco de dados.
Código de amostra
O exemplo de código a seguir pressupõe que você está se conectando a um banco de dados do Google Cloud SQL e cria conexões de banco de dados usando o método Jdbc.getCloudSqlConnection. Para outros bancos de dados, use o método Jdbc.getConnection para criar conexões.
Para mais informações sobre os métodos JDBC, consulte a documentação do Java para JDBC.
Criar um banco de dados, um usuário e uma tabela
A maioria dos desenvolvedores usa a
ferramenta de linha de comando do MySQL para
criar bancos de dados, usuários e tabelas. No entanto, é possível fazer a mesma
coisa no Apps Script, conforme mostrado no exemplo a seguir. Crie pelo menos outro usuário para que o script não precise sempre se conectar ao banco de dados como root.
Gravar no banco de dados
Os exemplos a seguir mostram como gravar um único registro no banco de dados e um lote de 500 registros. O agrupamento em lotes é essencial para operações em massa.
São usadas instruções parametrizadas, em que as variáveis são indicadas por ?. Para evitar ataques de injeção de SQL, use instruções parametrizadas para escapar de todos os dados fornecidos pelo usuário.
Ler do banco de dados
Este exemplo demonstra como ler um grande número de registros do banco de dados, fazendo um loop no conjunto de resultados conforme necessário.
Encerrar conexões
As conexões JDBC são fechadas automaticamente quando um script termina de ser executado. As chamadas únicas de google.script.run contam como uma execução completa, mesmo que a página do serviço HTML que fez a chamada permaneça aberta.
No entanto, se você souber que terminou de usar uma conexão, instrução ou conjunto de resultados antes do fim do script, feche-os manualmente chamando JdbcConnection.close, JdbcStatement.close ou JdbcResultSet.close.
Mostrar uma caixa de diálogo de alerta ou solicitação também encerra todas as conexões JDBC abertas. No entanto, outros elementos da interface —como menus ou caixas de diálogo personalizados e barras laterais com conteúdo personalizado—não são.
Google, Google Workspace e marcas e logotipos relacionados são marcas registradas da Google LLC. Todos os outros nomes de empresas e produtos são marcas registradas das empresas a que estão associados.