我想知道是否可以使用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/