我正在尝试使用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驱动程序,但我希望得到确认。
我花了很长时间在互联网上寻找解决方案,但无济于事。
我无法诊断出问题所在,并且非常感谢任何人在这方面可能有任何想法。
答案 0 :(得分:0)
问题是localhost
被用作主机。 Google Apps脚本在Google服务器上执行,而不是在本地计算机上执行。这意味着脚本无法访问localhost
,并且错误是合乎逻辑的。
要摆脱错误,必须让SQL Server可以在本地网络外部访问(Internet中的公共)。它可以是在防火墙或第三方公共SQL服务之后转发的MySQL端口。
在互联网上Searching,我发现了一些公共MySQL服务器,但我不知道他们是否在线(link #1,link #2,link #3)< / p>
更新00 :JDBC服务的bug无法将主机名解析为IP。我尝试使用以下代码进行测试。它建立了与DB的连接。
function test() {
var connection = Jdbc.getConnection("jdbc:mysql://193.62.203.76:3306/", "anonymous", "");
debugger;
}