【发布时间】:2019-11-23 13:45:15
【问题描述】:
我正在尝试将 AWS RDS 连接到 Google 表格,但我得到的只是
无法建立数据库连接。检查连接字符串、用户名和密码。
我已经尝试了跟踪器中找到的方法,即“使用端点主机地址的IP”,但仍然出现同样的错误,
我有:
设置 [RDS SETTINGS - public accessibilty- ON] 并验证端点和访问详细信息适用于所有其他查看器(Navicat、Adminer 等)
在“RDS VPC-安全组”入站和出站中将所有需要的 google IP 添加到白名单(参考:https://developers.google.com/apps-script/guides/jdbc)。
这是我正在使用的代码:
var connectionName = 'x.x.x.x:3306'
var user = 'admin';
var userPwd = 'pass';
var db = 'dbname';
var dbUrl = 'jdbc:mysql://' + connectionName + '/' + db;
function readFromTable11() {
var conn = Jdbc.getConnection(dbUrl, user, userPwd); //error here
Logger.log(conn);
var start = new Date();
var stmt = conn.createStatement();
stmt.setMaxRows(1000);
var results = stmt.executeQuery('SELECT * FROM items');
var numCols = results.getMetaData().getColumnCount();
while (results.next()) {
var rowString = '';
for (var col = 0; col < numCols; col++) {
rowString += results.getString(col + 1) + '\t';
}
Logger.log(rowString);
}
results.close();
stmt.close();
var end = new Date();
Logger.log('Time elapsed: %sms', end - start);
}
我已经搜遍了网络,但仍然无法正常工作。
【问题讨论】:
-
管理员用户是您的根用户吗?您是否尝试过专门创建另一个用户来编辑您的数据库?
-
是的,它是 root 用户,但我看不出这有什么帮助,因为我提供了所有必要的凭据和数据库名称,但会尝试,请添加其他可能的解决方案。跨度>
-
@TanmayDwivedi 你能使用 Apps 脚本连接到主机吗?您是否尝试过使用
UrlFetchApp向它发出请求?如果有,结果如何? -
不,它从来没有给我一个成功的连接,UrlFetchApp不是用来获取证书然后获取文本吗?
-
@carlesgg97,我想我在与 DB RDS 的连接设置中缺少一些基本的东西。如果您之前成功完成了此操作,您能否建议一个指南链接或在这里解释一下?跨度>
标签: jdbc google-apps-script amazon-rds database-connectivity