
スプレッドシートからデータベースに連携する
Googleスプレッドシートからデータベースに連携できることを知ったので紹介します。
Google Apps Script(GAS)からJDBCでデータベースに接続でき、様々なデータを取得できます。
連携できるデータベース
サポートしているデータベースは以下の通りです。
- Google Cloud SQL
- MySQL
- Microsoft SQL Server
- Oracle
僕は今回、SQL Serverで試しました。
IPアドレスの接続許可設定
この方法では使用するIPアドレスの範囲が以下のように決まっているようです。
データベースの接続許可設定で、以下のIPアドレスを許可します。
64.18.0.0 – 64.18.15.255
64.233.160.0 – 64.233.191.255
66.102.0.0 – 66.102.15.255
66.249.80.0 – 66.249.95.255
72.14.192.0 – 72.14.255.255
74.125.0.0 – 74.125.255.255
173.194.0.0 – 173.194.255.255
207.126.144.0 – 207.126.159.255
209.85.128.0 – 209.85.255.255
216.239.32.0 – 216.239.63.255
コード
下記、1行目~3行目でデータベースの情報を設定します。
本例では取得したデータを26行目でスプレッドシートに出力する記述になっています。
var connectionName = 'ホスト名をここに入れる:1433;databaseName=データベース名をここに入れる;';
var user = 'ユーザー名をここに入れる';
var userPwd = 'パスワードをここに入れる';
var dbUrl = 'jdbc:sqlserver://' + connectionName;
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheetOutput = ss.getSheetByName('hogehoge');
function readFromTable() {
var conn = Jdbc.getConnection(dbUrl, user, userPwd);
var stmt = conn.createStatement();
stmt.setMaxRows(1000);
var results = stmt.executeQuery('SELECT * FROM hoge');
var data = [];
var index = 0;
while (results.next()) {
data[index] = [];
data [index][0] = results.getString("co11");
data [index][1] = results.getString("col2");
index++;
}
sheetOutput.getRange(1,1,data.length,data[0].length).setValues(data);
results.close();
stmt.close();
}
以下、参考。
公式ドキュメント(英語)
https://developers.google.com/apps-script/guides/jdbc
自動取得設定
データを自動で取得する設定をします。
スクリプトエディタからトリガーの設定をします。
上部メニューから以下を選択します。
編集 > 現在のプロジェクトのトリガー
ツールバーからも選択可能です。
右下のトリガーを追加をクリックします。
トリガーの追加画面が開きます。
1日1回、22時~23時の間に実行するようにするには、以下のように設定して、保存ボタンをクリックします。
- イベントのソースを選択:時間主導型
- 時間ベースのトリガーのタイプを選択:日付ベースのタイマー
- 時刻を選択:午後10時~11時
時間の周期は1時間ごとや週1回、月1回など、様々な種類が設定できます。
自動取得設定は以上で完了です。
これでスプレッドシートからデータベースに連携して、データを取得することができました。
▼ 業務効率化代行サービス「カワリニ」
日々の業務で困った点、お悩みなどを解決し、業務を効率化するサービスを展開しています。
改善したいけど、なにぶん分からないことも多い方もいると思います。
大きなコストを掛けずに、あなたの代わりに業務効率化を行います。
お気軽にご相談ください。
IT全般はお任せ。
プログラミングメインに活動中。
Java、PHP、C#、SQL、HTML、CSSやWordPressなどプログラミングから、情シスなど奮闘中。
最近の趣味はGAS。
競馬が好き。そしてスポーツ、読書、食べること、スイーツ好き。
好きなことでサービスやアプリを作りたい。
コメント ( 0 )
トラックバックは利用できません。
この記事へのコメントはありません。