GASからMySQLに接続して、Select文を実行する

select文の実行は、DBへのコネクションを行った後、ステートメントのオブジェクトを作成し、「.executeQuery(‘select文’)」を実行する。実行結果は、「.getInt(‘カラム名’)」や「.getString(‘カラム名’)」などで型を指定して、取得する。

サンプルコードは下記。

function myFunction() {
  dbConnection();
}

// --------------------------------
// SSL 接続なしで接続する
// --------------------------------
function dbConnection(){
  Logger.log('start dbConnection function.');

  // 接続先設定
  var connectionIp = 'xxx.xxx.xxx.xxx'; // 接続のMysqlのIPアドレス(ホスト名も可)
  var userName = 'user'; // 接続で使うユーザ名
  var passwd = 'password'; // 接続で使うパスワード
  var databaseName = 'database'; // データベース名
  var addr = 'jdbc:mysql://' + connectionIp + '/' + databaseName;

  Logger.log('start mysql con');
  Logger.log(addr);

  var connectionInfo = {
    user: userName,
    password: passwd
  }

  // DBにコネクションをはる
  var connection = Jdbc.getConnection(addr, connectionInfo);
  Logger.log(connection.getCatalog());

  // Select文を実行するための処理 ここから
  // sqlステートメントをデータベースに送信するためのオブジェクトを作る
  var statement = connection.createStatement();

  // sqlを実行して結果をオブジェクトに入れる
  var result = statement.executeQuery('select * from List');

  // 結果を取り出す
  while (result.next()) {
    // 数値の場合は、getInt('カラム名')を使う。
    var id = result.getInt('id');
    // 文字列の場合は、getString('カラム名')を使う。
    var name = result.getString('listname');
    // 取得した内容をログに出力する
    Logger.log(id + ':' + name);
  }

  // Select文を実行する処理はここまで
  // コネクションを閉じる
  connection.close();
}
スポンサーリンク

シェアする

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

フォローする