O Apps Script pode se conectar a bancos de dados externos pelo serviço JDBC, um wrapper em torno da tecnologia Java Database Connectivity padrão. O serviço JDBC é compatível com bancos de dados Oracle, Google Cloud SQL para MySQL, MySQL, Microsoft SQL Server e Oracle.
Para atualizar um banco de dados externo com JDBC, seu script precisa abrir uma conexão com o banco de dados e, em seguida, fazer alterações enviando instruções SQL.
Bancos de dados do Google Cloud SQL
O Google Cloud SQL permite criar bancos de dados relacionais que residem na nuvem do Google. O Cloud SQL pode gerar cobranças com base no seu uso.
É possível criar uma instância do Google Cloud SQL seguindo as etapas listadas no guia de início rápido do Cloud SQL.
Como 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) Conectando usando Jdbc.getCloudSqlConnection(url)
- Como se conectar usando Jdbc.getConnection(url)
Esses métodos são explicados a seguir. Ambos são válidos, mas o segundo método exige que você autorize um conjunto de intervalos de IPs para acesso ao seu banco de dados.
Como usar Jdbc.getCloudSqlConnection(url) (recomendado)
Esse método cria uma conexão com uma instância MySQL do Google Cloud SQL usando o método Jdbc.getCloudSqlConnection(url). O URL do banco de dados tem o formato 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(url).
Como usar Jdbc.getConnection(url)
Para usar esse método, você precisa autorizar determinados intervalos de endereços IP de roteamento entre domínios sem classe (CIDR, na sigla em inglês) para que os servidores do Apps Script possam se conectar ao seu banco de dados. Antes de executar o script, siga estas etapas:
Na instância do Google Cloud SQL, autorize os intervalos de IP, um de cada vez, desta fonte de dados.
Copie o URL que foi atribuído ao seu banco de dados. Ele precisa ter o formato
jdbc:mysql:subname
.
Depois de autorizar esses intervalos de IP, crie conexões com a instância do Google Cloud SQL usando um dos métodos Jdbc.getConnection(url) e o URL copiado acima.
Outros bancos de dados
Se você já tiver seu próprio banco de dados MySQL, Microsoft SQL Server ou Oracle, poderá se conectar a ele por meio do serviço JDBC do Apps Script.
Como 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, acesse as configurações do banco de dados e autorize os intervalos de IP dessa fonte de dados.
Quando essas listas de permissões estiverem em vigor, será possível criar uma conexão com o banco de dados usando um dos métodos Jdbc.getConnection(url) e o URL do banco de dados.
Exemplo de código
O código de amostra abaixo 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(url). Para outros bancos de dados, você precisa usar o método Jdbc.getConnection(url) para criar conexões de banco de dados.
Para mais informações sobre os métodos JDBC, consulte a documentação 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 MySQL para criar bancos de dados, usuários e tabelas. No entanto, é possível fazer a mesma coisa no Apps Script, conforme mostrado abaixo. É recomendável criar pelo menos mais um
usuário para que o script não precise sempre se conectar ao banco de dados como
root
.
Gravar no banco de dados
Nos exemplos abaixo, demonstramos como gravar um único registro no banco de dados, bem como um lote de 500 registros. Os lotes são essenciais para operações em massa.
Observe também o uso de instruções parametrizadas, em que as variáveis são
denotadas por ?
. Para evitar
ataques de injeção de SQL, use
instruções parametrizadas para fazer o escape de todos os dados fornecidos pelo usuário.
Ler do banco de dados
Neste exemplo, demonstramos como ler um grande número de registros do banco de dados, realizando um loop no conjunto de resultados conforme necessário.
Como fechar conexões
As conexões JDBC são fechadas automaticamente quando a execução de um script termina. Lembre-se de que uma única chamada google.script.run
conta como uma execução completa, mesmo que a página de serviço HTML que fez a chamada permaneça aberta.
No entanto, se você sabe que concluiu uma conexão, instrução ou conjunto de resultados
antes do final do script, é recomendável fechá-los manualmente chamando
JdbcConnection.close()
,
JdbcStatement.close()
ou
JdbcResultSet.close()
.
Mostrar uma caixa de diálogo de alerta ou prompt 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 fazem isso.
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.