google-apps-script - 从Apps脚本访问Google Cloud SQL

标签 google-apps-script google-cloud-sql

我想知道是否可以使用Apps Script连接到我的Google Cloud SQL DB来执行查询。

我读过很多文章,似乎访问DB Cloud SQL的唯一方法是使用App Engine。

有人知道解决方案吗?
谢谢

最佳答案

是的,显然可以通过JDBC将应用程序脚本与Google Cloud SQL连接。

从Google Apps脚本连接到Google Cloud SQL实例:
Google Apps脚本可以使用Jdbc服务通过JDBC与数据库建立连接。

授权:
为了连接到实例,用户必须是关联的Google API控制台项目的成员。 (可选)可以指定用户名和密码以应用更多细粒度的权限。要了解有关访问控制的更多信息,请参见access control documentation

访问Google Cloud SQL数据库:
我们可以使用特殊方法getCloudSqlConnection在Apps脚本中连接到这些数据库。此方法与getConnection的工作方式相同,但只接受Google Cloud SQL连接字符串。

var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://instance_name/database_name");

建立连接后,您可以使用与用于任何MySQL数据库的代码相同的代码。

写入数据库:
此代码将在数据库的人员表中插入一条记录
function insert() {
  var fname="First Name"
  var lname="Last Name"
  var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://instance_name/database_name");
  var stmt = conn.createStatement()
  var query="insert into person(FNAME,LNAME) values('"+fname+"','"+lname+"')"
  stmt.execute(query)
  stmt.close()
  conn.close()
 }

从数据库中读取:
该代码将从数据库中读取。
function read() {
  var conn = Jdbc.getCloudSqlConnection("jdbc:google:rdbms://instance_name/database_name");
  var stmt = conn.createStatement()
  var query="select FNAME, LNAME from person"
  var rs= stmt.executeQuery(query)
  while(rs.next()){
    Logger.log("First Name : "+rs.getString(1)+" , "+"Last Name : "+rs.getString(2))
  }
  rs.close()
  stmt.close()
  conn.close()
 }

关于google-apps-script - 从Apps脚本访问Google Cloud SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12391501/

相关文章:

csv - 如何将数据从 Gmail 邮件附件复制到电子表格?

javascript - Sleep() 未按预期工作

javascript - Hubspot API - 如何循环获取所有交易

google-cloud-sql - 谷歌云 SQL : unix socket URI format? 上的 PostgREST

postgresql - 适用于 Postgres 的 GCP Cloud SQL 查询日志记录

google-cloud-storage - 如何打开 Google Cloud SQL 实例查看数据库

postgresql - 如何更改 Google Cloud SQL 上的 postgresql.conf 参数

javascript - 从命名范围谷歌表格脚本中选择一个范围

mysql - 无法删除谷歌云sql复制主实例

file - 如何使用 Google Apps 脚本和 Discord Webhook 将图像上传到 Discord?