2017-10-06 11 views
0

jdbcを使用してMYSQLデータベースの一部のデータを更新するonEdit()関数を定義したスクリプトがあります。 私はトリガーUIを使って "on spreadsheet"> "on edit"を実行するためにこの関数 "onEdit"を設定しました。ランダムエラー - getConnection()の呼び出しに必要なアクセス許可

これは、ランダムに、その後、ほとんどの時間の作品ログに次のエラーで失敗します。

You do not have permission to call getConnection at [unknown function](Code:7) 

7行目です:私はむしろ作成することで、この奇妙な振る舞いを修正することができました

var conn = Jdbc.getConnection("jdbc:mysql://xxxx", "xxx", "xx"); 
+0

[こちら](https://stackoverflow.com/questions/46548237/script-stopping-may-be-due-to-onedit-spreadsheetapp-call-and-then-documentapp/46548619#46548619)助けます。要するに、 'onEdit'のための簡単なトリガーを持っているかもしれませんが、必要なものはインストール可能なトリガーです。 – kaza

+0

私はインストール可能なトリガー設定があると思います。ありがとう – Andrew

+0

可能な複製https://stackoverflow.com/questions/25908498/google-apps-script-calling-jdbc-required-permissions – noogui

答えて

0

インストール可能なトリガーは、UI経由でプログラムで実行されます。

  1. 「onEdit」機能の名前を「onEditStatus」に変更しました。トリガーを作成するために、初期化関数を作成し
  2. (作成する前に、それはまた、前のトリガを削除します)、以下を参照してください:

機能の初期化(){

var triggers = ScriptApp.getProjectTriggers(); 

    for(var i in triggers) { 
    ScriptApp.deleteTrigger(triggers[i]); 
    } 

    var ss = SpreadsheetApp.getActive(); 

    var builder = ScriptApp.newTrigger("onEditStatus") 
    .forSpreadsheet(ss) 
    .onEdit() 
    .create(); 

}; 

は、これが私の「あなたが権限を持っていない固定getConnectionを呼び出す "問題が発生しました。

関連する問題