2012-09-12 113 views
5

我想知道现在是否有使用应用程序脚本连接到我的Google Cloud SQL数据库以插入/检索记录或执行查询的方式。我读过很多帖子,似乎访问数据库云端SQL的唯一方法是使用appengine。从Apps脚本访问Google Cloud SQL

任何人都知道解决方案吗? 谢谢

回答

9

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

与Google Cloud SQL实例的连接来自Google Apps脚本: Google Apps脚本能够通过JDBC与Jdbc服务建立数据库连接。

授权: 为了连接到一个实例的用户必须是相关的谷歌API控制台项目的成员。可选地,可以指定用户名和密码以应用更精细的权限。要了解更多关于访问控制,见access control documentation

访问谷歌的Cloud SQL数据库: 我们可以连接到Google Apps脚本这些数据库,使用特殊方法getCloudSqlConnection。此方法与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() 
} 
0

我认为连接到Google Cloud Sql DB的唯一方法是通过AppEngine。

0

现在,没有任何解决方案可以从GAS连接到Google Cloud SQL数据库,但尚不清楚它何时推出。 Here是问题跟踪器的问题,here是关于Google Cloud SQL群组上的此问题的讨论。

1

从您的谷歌开发者控制台中,单击概述再往 点击页面中间,如何连接到您的云SQL实例,然后单击链接。 接下来选择该语言的Java,直到找到从外部网络连接,找到您的URL。

它应该是这样的:

URL = “的jdbc:mysql的:// your_address用户=根”;

如果IPv4的,如果启用(在000.000.000.00格式的数字)

复制网址离开了?用户=根 “;

贴进>> VAR康恩= Jdbc.getConnection(” JDBC:MySQL的:// your_address/

添加/ DB_NAME

,完成行代码应该是这个样子。

变种康恩= Jdbc.getConnection(“JDBC:MySQL的:// your_address/DB_NAME”,用户,userPwd);

两件事情记住

1:甲下载应用程序脚本网络ID的第一个

2:提前创建数据库以从Apps脚本写入,它使生活变得更加轻松。

相关问题