2

以前はGoogle Apps Scriptでスクリプトを作成していましたが、すべての関数で Jdbc 接続を開いたり閉じたりしていました。

アプリケーションを高速化するには、接続を開いたままにして別の関数で使用する方がよいようです。ただし、 Google Apps Scriptでそれを行う方法がわかりません。

誰でも私に提案や例を教えてもらえますか?

4

1 に答える 1

0

ScriptDB で接続を保持する方法の例を次に示します。

function myFunction() {
  var conn = ScriptDb.getMyDb().query({name : "my_connection"} );
  var connection = null;
  var itemId = null;

  if(conn.getSize() == 0) {
    Logger.log(" Connection not found, creating new one");
    connection = Jdbc.getConnection('jdbc:mysql://<host>:3306/<instance>', 'user', 'password');
    itemId = ScriptDb.getMyDb().save({name : "my_connection", connection : connection}).getId();

  }else {
    Logger.log(" Connection found, retrieving "+conn.getSize());
    var dbItem  = conn.next();
    connection = dbItem.connection;
    itemId = dbItem.getId();
  }

  //Check if it is closed
  if(connection.isClosed()) {
    connection = Jdbc.getConnection('jdbc:mysql://<host>:3306/<instance>', 'user', 'password');

    //After opening remember to save to dabatase again and retain only one connection
    ScriptDb.getMyDb().removeById(itemId);
    ScriptDb.getMyDb().save({name : "my_connection", connection : connection});
  }

  //Use your connection here

  //Remenber to close it based in some criteria
}

はこちら

于 2013-10-11T17:22:38.817 に答える