GASからJDBCでCloud SQLに接続しようとすると接続が確立できない

GAS(Google Apps Script)から、Cloud SQLに接続をJDBCから行ったのだが、下記のエラーが出て接続できない。

Exception: データベース接続を確立できませんでした。接続文字列、ユーザー名、パスワードを確認してください。

接続先の環境は、Cloud SQL(Google Cloud Platform SQL)上で新しく作ったインスタンスで、第2世代で、MySQL8.0のインスタンス。

GASのソースコードとしては、下記。

function dbConn() {
  var dbConnectName = "プロジェクト名:us-central1:インスタンス名"; // GCP上で表示される接続名
  var user = "ユーザ名";
  var password = "パスワード";
  var dbName = "DB名";
  
  var conURL = "jdbc:google:mysql://" + dbConnectName + "/" + dbName;
  Logger.log(conURL);
  
  var dbCon = Jdbc.getCloudSqlConnection(conURL, user, password);
  Logger.log(dbCon.getCatalog());
  
  return dbCon;
}

いろいろと調べて、JDBCの`Jdbc.getConnection`でも試したが、接続できず。

原因として、わかったことは、GASから呼び出されるJDBCは、MySQL8.0へのインスタンスへの接続に対応していないということ。MySQL5.7で新しくインスタンスを作り直して、`Jdbc.getCloudSqlConnection`を行ったところ、あっさりと接続できた。

まさか、JDBCが対応していないとは。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする