Google Apps脚本 - JDBC连接失败

时间:2012-10-31 05:45:44

标签: javascript mysql jdbc google-apps-script connection-string

我正在尝试使用Google Apps开发者参考中的示例代码(https://developers.google.com/apps-script/jdbc)从Google Apps电子表格中打开连接但未成功

function insert() {
    var conn = Jdbc.getConnection("jdbc:mysql://localhost:3306/test", "a", "a");

错误:无法建立数据库连接。检查连接字符串,用户名和密码。 (第56行)

我尝试用我的特定IP地址替换“localhost”。

我能够使用Access,ODBC和上述凭据成功连接到我的数据库,所以我知道这是一个JDBC / Google-apps-script问题。

CLASSPATH指向正确的jar文件,如下所示:

C:\>echo %CLASSPATH%
.;C:\Program Files\Java\mysql-connector-java-5.1.22\mysql-connector-java-5.1.22-
bin.jar

我不确定是否必须在我的脚本或google-doc-spreadsheet中进行其他操作,或者在Windows中进行正确设置。

我从一件事情中了解到,没有必要安装JDBC驱动程序,但我希望得到确认。

我花了很长时间在互联网上寻找解决方案,但无济于事。

我无法诊断出问题所在,并且非常感谢任何人在这方面可能有任何想法。

1 个答案:

答案 0 :(得分:0)

问题是localhost被用作主机。 Google Apps脚本在Google服务器上执行,而不是在本地计算机上执行。这意味着脚本无法访问localhost,并且错误是合乎逻辑的。

要摆脱错误,必须让SQL Server可以在本地网络外部访问(Internet中的公共)。它可以是在防火墙或第三方公共SQL服务之后转发的MySQL端口。

在互联网上

Searching,我发现了一些公共MySQL服务器,但我不知道他们是否在线(link #1link #2link #3)< / p>

更新00 :JDBC服务的bug无法将主机名解析为IP。我尝试使用以下代码进行测试。它建立了与DB的连接。

function test() {
  var connection = Jdbc.getConnection("jdbc:mysql://193.62.203.76:3306/", "anonymous", "");
  debugger;
}