mysql データベース クエリの出力を Google スプレッドシートのセルに入力したいので、Google チュートリアルの例に従って、この簡単なスクリプトを作成しました。
function get_tbs_number() {
var conn = Jdbc.getConnection("jdbc:mysql://127.0.0.1:9008/icadata");
var stmt = conn.createStatement();
stmt.setMaxRows(100);
var start = new Date();
var rs = stmt.executeQuery("select count(*) from CNGSfiltered where run=10269 and (GTO1>4 or GTO2>4 or GTO3>4 or GTO4>4);");
var doc = SpreadsheetApp.getActiveSpreadsheet();
var cell = doc.getRange('a1');
cell.offset(0, 0).setValue(rs.getString(1));
rs.close();
stmt.close();
conn.close();
var end = new Date();
Logger.log("time took: " + (end.getTime() - start.getTime()));
}
問題は、スクリプトを実行しようとすると、データベースへの接続エラーが発生する一方で、コマンド ライン (mysql -h localhost -P 9008 -u # -p# icadata) から同じデータベースへの接続が機能することです。