我不熟悉Google脚本,并试图建立与MySQL(5.5.65-MariaDB)数据库的连接,该数据库托管在运行CentOS的外部(非Google)服务器上。
我在这里遵循指南:https://developers.google.com/apps-script/guides/jdbc#other_databases
在我的脚本中,我使用了以下功能:
// export_sheet_data.gs
function writeOneRecord() {
var conn = Jdbc.getConnection('jdbc:mysql://HOST_NAME.com:3306/DB_NAME', 'DB_USER', 'DB_PASSWORD');
var stmt = conn.prepareStatement('INSERT INTO entries '
+ '(guestName, content) values (?, ?)');
stmt.setString('andy', 'First Guest');
stmt.setString('bob', 'Hello, world');
stmt.execute();
}
[显然,HOST_NAME
,DB_NAME
,DB_USER
和DB_PASSWORD
是对应于适当值的字符串(从字面上输入,不是变量):我的外部服务器的主机名,数据库名称,数据库用户名和数据库密码。
[当我在脚本控制台中执行此命令(运行>运行功能> writeOneRecord()
)时,它说]
运行函数writeOneRecord()
大约10秒钟。
然后出现错误
异常:无法建立数据库连接。检查连接字符串,用户名和密码。
如果我单击“详细信息”,则不会对此进行详细说明。它说
异常:无法建立数据库连接。检查连接字符串,用户名和密码。 (第54行,文件“ export_sheet_data”)
我已经完成以下工作:
DB_NAME
。HOST_NAME
与我的服务器匹配。 也尝试使用外部IP地址。DB_USER
和DB_PASSWORD
)正确。与此有关的服务器上的防火墙日志中没有任何显示。
我已检查我是否正确使用了Jdbc.getConnection
。
我还能如何调试呢? Google脚本控制台似乎没有什么可以帮助您的。
我在访问网站上的MySql数据库时遇到了一些困难,发现这种方法对我有用。
Jdbc.getConnection
似乎经常起作用的地址是托管帐户的IP地址。