2012-08-26 62 views
0

我遵循在https://developers.google.com/apps-script/jdbc上显示的Google Apps脚本JDBC示例,但连接到在Amazon上托管的MySQL数据库时未成功。我的连接字符串看起来像这样(净化的):Google Apps脚本JDBC连接错误 - 亚马逊RDS MySQL

var conn = Jdbc.getConnection("jdbc:mysql://myAmazonhost:3306/", "myUser", "myPass"); 

我能够使用两个MySQL工作台和我的Navicat开发系统远程连接到亚马逊的MySQL数据库,并已检查/验证主机名,用户名和密码在Google脚本中。

我在Accessing Local Databases下列出的Google服务器添加到Amazon Security Group,但没有运气。我不断收到错误:

Failed to establish a database connection. Check connection string, username and password.

我可能会错过简单的东西。其他人从Google脚本连接到Amazon MySQL数据库?我很乐意提供任何建议。谢谢。

(编辑...)

对不起,我无意中删除的数据库名称时,我上面的消毒,我的例子。数据库名称在代码中指定。

var conn = Jdbc.getConnection("jdbc:mysql://myAmazonhost:3306/myDB", "myUser", "myPass"); 

我发布这个问题12小时后,脚本开始工作 - 没有数据库连接错误。我构建了一个报告,使用从Amazon MySQL数据库检索的信息创建电子表格。 (很酷,看到所有这些在云中工作。)

但是...我没有对JDBC连接字符串做任何更改。并且没有对Amazon端的安全组配置进行更改。它刚刚开始工作。

今天早上,我开始编写脚本。我没有走得很远 - 弹出一个很大的难看的红色数据库连接错误消息。没有改变代码。它刚刚停止工作。我验证了MySQL数据库已启动并可从我的桌面管理程序访问。没有问题。

是否有人遇到从Google脚本到外部数据库的不稳定连接?我希望这只是一个孤立的故障。

回答

1

原来,问题与数据库引擎版本有关。我使用引擎版本5.5.25a创建了一个新实例,并且连接正常工作。我回到我的原始数据库,并将其从5.5.8修改为5.5.25a,并且它也可以工作。不知道Google Apps脚本发生了什么,但将引擎版本更改为5.5.25a可以解决问题。

0

您必须指定要连接的数据库。尝试

var conn = Jdbc.getConnection("jdbc:mysql://myAmazonhost:3306/DB_NAME", "myUser", "myPass"); 
+0

对不起,当我清理我的示例时,我无意中删除了数据库名称。数据库名称在代码中指定。 您是否能够在Google脚本中连接到亚马逊? –