0

https://developers.google.com/apps-script/jdbcに示されている Google Apps Script JDBC の例に従いましたが、Amazon でホストされている MySQL データベースに接続できませんでした。私の接続文字列は次のようになります(スクラブ):

var conn = Jdbc.getConnection("jdbc:mysql://myAmazonhost:3306/", "myUser", "myPass");

MySQL Workbench と Navicat の両方を使用して開発システムから Amazon MySQL データベースにリモートで接続でき、Google スクリプトでホスト名、ユーザー名、およびパスワードを確認/検証しました。

Accessing Local Databasesにリストされている Google サーバーを Amazon セキュリティ グループに追加しましたが、うまくいきませんでした。エラーが発生し続けます:

データベース接続の確立に失敗しました。接続文字列、ユーザー名、パスワードを確認してください。

私はおそらく単純なものを見逃しています。Google スクリプトから Amazon MySQL データベースに接続している人はいますか? アドバイスをいただければ幸いです。ありがとう。

(編集...)

申し訳ありませんが、上記の例をサニタイズしたときに、うっかりデータベース名を削除してしまいました。DB 名はコードで指定されます。

var conn = Jdbc.getConnection("jdbc:mysql://myAmazonhost:3306/myDB", "myUser", "myPass"); 

この質問を投稿してから 12 時間後、スクリプトが動作し始めました。データベース接続エラーは発生しませんでした。Amazon MySQL データベースから取得した情報を使用してスプレッドシートを作成するレポートを作成しました。(これらすべてがクラウドで機能するのを見るのはとてもクールです。)

しかし... JDBC 接続文字列に変更を加えていませんでした。また、Amazon 側のセキュリティ グループの構成は変更されていません。それはちょうど働き始めました。

今朝、私はスクリプトに取り組み始めました。私はあまり先に進みませんでした.大きな醜い赤いデータベース接続エラーメッセージがポップアップしました. コードに変更はありません。機能しなくなりました。MySQL データベースが起動していて、デスクトップ管理プログラムからアクセスできることを確認しました。問題ない。

Google スクリプトから外部データベースへの不安定な接続を経験している人はいますか? これが単なる孤立した不具合であることを願っています。

4

2 に答える 2

1

問題はデータベース エンジンのバージョンに関連していたことが判明しました。エンジン バージョン 5.5.25a を使用して新しいインスタンスを作成したところ、接続が機能しました。元のデータベースに戻り、5.5.8 から 5.5.25a に変更したところ、同様に機能しました。Google Apps Script で何が起こっているのかわかりませんが、エンジンのバージョンを 5.5.25a に変更すると問題が解決しました。

于 2012-09-04T21:20:19.920 に答える
0

接続するデータベースを指定する必要があります。試す

var conn = Jdbc.getConnection("jdbc:mysql://myAmazonhost:3306/DB_NAME", "myUser", "myPass");
于 2012-08-27T04:51:25.980 に答える