Google Apps ScriptではJDBCというサービスを通じて外部のデータベースにアクセスする事が可能です。
接続できるデータベースは今現在、Google Cloud SQL、MySQL、Microsoft SQL Server、Oracleとなっているようです。
もちろんですが、外部からの接続を許容しているデータベースにのみ接続が可能です。 ソースコードはこんな感じです。
function wmap_jdbc() {
//'jdbc:mysql://[ホスト名(IPアドレス)]:[ポート番号]/[DB名]';
var con_str = 'jdbc:mysql://wmapst.net:1234/hogehoge';
var user_id = 'hoge_user';
var user_pass = 'hoge_pass';
var conn = Jdbc.getConnection(con_str, user_id, user_pass);
var stmt = conn.createStatement();
stmt.setMaxRows(100);
//クエリを記載
var str_query = 'select * from tbl_hogehoge;';
var rs = stmt.executeQuery(str_query);
var row = 1;
var str = '';
while(rs.next()) {
//getStringで列名を指定して取得
str += rs.getString('hogehoge_id');
str += '\n';
row++;
}
rs.close();
stmt.close();
conn.close();
//output
Logger.log(str);
}
今回の場合は、Logger.log()を利用して、ログに出力するようにしていますが、当然スプレッドシートに出力したり、メールに出力したりと色々な活用が可能です。
ただしセキュリティの観点から考えると、いかがなものかという気もしますが。
更に言えば、データベースのアカウント情報もスクリプト内部に記載するのはイマイチな気がしています。
閲覧権限すら与えていないスプレッドシートを別で作ってその中に記載。
その記載されている情報をスクリプトで呼び出すとかがイイかもしれません。
そこら辺は上手く考えて活用してみてください。