1

Google Apps Developers リファレンス ( https://developers.google.com/apps-script/jdbc )のサンプル コードを使用して、Google Apps スプレッドシートから接続を開こうとしましたが成功しませんでした。

function insert() {
    var conn = Jdbc.getConnection("jdbc:mysql://localhost:3306/test", "a", "a");

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

「localhost」を特定のIPアドレスに置き換えてみました。

Access、ODBC、および上記の資格情報を使用してデータベースに正常に接続できるため、JDBC / Google-apps-script の問題であることがわかります。

CLASSPATH は、次のように正しい jar ファイルを指しています。

C:\>echo %CLASSPATH%
.;C:\Program Files\Java\mysql-connector-java-5.1.22\mysql-connector-java-5.1.22-
bin.jar

正しく設定するために、スクリプトまたは google-doc-spreadsheet 内で、または Windows 内で他に何かする必要があるかどうかはわかりません。

私が読んだことの1つから、JDBCドライバーをそのままインストールする必要はないことを理解していますが、同じことを確認していただければ幸いです。

インターネットで解決策を探すのに長い時間を費やしましたが、役に立ちませんでした。

問題がどこにあるかを診断するのに苦労しており、その点について誰かが考えていることを大いに感謝します.

4

1 に答える 1

0

問題は、localhostがホストとして使用されていることです。Google Apps スクリプトは、ローカル コンピューターではなく、Google サーバーで実行されます。これは、スクリプトが にアクセスできずlocalhost、エラーが論理的であることを意味します。

エラーを取り除くには、SQL Server をローカル ネットワークの外部 (インターネットで公開) にアクセスできるようにする必要があります。これは、ファイアウォールの背後で転送される MySQL ポートまたはサード パーティのパブリック SQL サービスである可能性があります。

インターネットで検索すると、公開されている MySQL サーバーがいくつか見つかりましたが、それらがオンラインであるかどうかはわかりません (リンク #1リンク #2リンク #3 )

Update 00 : JDBC サービスには、ホスト名を IP に解決できないというバグがあります。次のコードを使用してテストしようとしました。DBに接続します。

function test() {
  var connection = Jdbc.getConnection("jdbc:mysql://193.62.203.76:3306/", "anonymous", "");
  debugger;
}
于 2012-10-31T06:24:48.677 に答える