0

我遵循了https://developers.google.com/apps-script/jdbc中显示的 Google Apps Script JDBC 示例,但未能成功连接到 Amazon 托管的 MySQL 数据库。我的连接字符串看起来像这样(擦洗):

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

我可以使用 MySQL Workbench 和 Navicat 从我的开发系统远程连接到 Amazon MySQL 数据库,并在 Google 脚本中检查/验证了主机名、用户名和密码。

我将访问本地数据库下列出的 Google 服务器添加到了 Amazon 安全组,但没有运气。我不断收到错误:

无法建立数据库连接。检查连接字符串、用户名和密码。

我可能错过了一些简单的东西。还有其他人从 Google 脚本连接到 Amazon MySQL 数据库吗?我肯定会很感激任何建议。谢谢。

(编辑...)

抱歉,我在清理上面的示例时无意中删除了数据库名称。DB 名称在代码中指定。

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

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

但是...我没有对 JDBC 连接字符串进行任何更改。亚马逊端的安全组配置也没有改变。它刚刚开始工作。

今天早上,我开始写剧本。我没走多远——弹出了又大又丑的红色数据库连接错误消息。代码没有变化。它刚刚停止工作。我确认 MySQL 数据库已启动并可从我的桌面管理程序访问。没有问题。

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

4

2 回答 2

1

原来这个问题与数据库引擎版本有关。我使用引擎版本 5.5.25a 创建了一个新实例,并且连接正常。我回到原来的数据库,将它从 5.5.8 修改为 5.5.25a,它运行良好。不确定 Google Apps Script 发生了什么,但将引擎版本更改为 5.5.25a 解决了问题。

于 2012-09-04T21:20:19.920 回答
0

您必须指定要连接到哪个数据库。尝试

var conn = Jdbc.getConnection("jdbc:mysql://myAmazonhost:3306/DB_NAME", "myUser", "myPass");
于 2012-08-27T04:51:25.980 回答