使用Google App Script将AWS RDS连接到Google Sheet时出错 [英] Error on connecting AWS RDS to Google Sheets using Google App Scripts

查看:27
本文介绍了使用Google App Script将AWS RDS连接到Google Sheet时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将AWS RDS连接到Google Sheet,但得到的结果是

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

我尝试了跟踪器中的方法,即"使用端点主机地址的IP",但仍然出现相同的错误,

我有:

  1. set[RDS Settings-public accessibilty-on](&;已验证端点和访问详细信息在所有其他查看器(Navicat、Adminer等)上都有效)

  2. 将所有需要的Google IP添加到‘RDS vPC-Security Groups’入站和amp;出站的白名单中(参考: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) + '	';
    }
    Logger.log(rowString);
  }

  results.close();
  stmt.close();

  var end = new Date();
  Logger.log('Time elapsed: %sms', end - start);
}

我已经搜索了网络,但仍然无法正常工作。

推荐答案

好的,结果是Google Scripts只支持MySQLv5.5.x版本,因此超过这个版本会导致问题是"数据库连接失败"。因此,为了确保连接成功,只需在RDS中进行上面相同的设置,但选择mysql engine以使用版本5.5.x&;使用这个-(toolbox.googleapps.com/apps/挖洞)来查找您的端点IP地址是否存在可能的dns问题。 我会更新更多。

这篇关于使用Google App Script将AWS RDS连接到Google Sheet时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆