Apps Script は、 JDBC サービス: 標準の JDBC のラッパー Java Database Connectivity テクノロジー。 JDBC サービスは Google Cloud SQL for MySQL、MySQL、Microsoft SQL をサポートしています。 2 つのデータベースがあります
JDBC を使用して外部データベースを更新するには、スクリプトで接続を開く必要があります SQL ステートメントを送信して変更を加えることができます。
Google Cloud SQL データベース
Google Cloud SQL では、既存のリレーショナル データベースを Google のクラウド上で実行しなお、Cloud SQL 使用量に応じて課金される可能性があります。
Google Cloud SQL インスタンスを作成するには、 Cloud SQL クイックスタート
Google Cloud SQL 接続の作成
Google Cloud SQL との接続を確立するには 2 つの方法があります。 Apps Script の JDBC サービスを使用して、データベースに接続します。
- (推奨)Jdbc.getCloudSqlConnection(url) を使用して接続する
- Jdbc.getConnection(url) を使用して接続する
以下では、これらの方法について説明します。どちらも有効ですが、2 つ目の方法は データベースにアクセスするための一連の IP 範囲を承認する必要があります。
Jdbc.getCloudSqlConnection(url) を使用する(推奨)
このメソッドは、Jdbc.getCloudSqlConnection(url) を使用して Google Cloud SQL MySQL インスタンスへの接続を作成します。
メソッドを呼び出します。データベースの URL の形式は jdbc:google:mysql://subname
です。ここで、subname
は MySQL インスタンス接続名です。
Cloud SQL インスタンスの [概要] ページで、
Google Cloud コンソール。
Cloud SQL SQL Server に接続するには、Jdbc.getConnection(url) をご覧ください。
Jdbc.getConnection(url) を使用する
この方法を使用するには、 クラスレス ドメイン間ルーティング(CIDR) Apps Script のサーバーがデータベースに接続できるようにするための IP アドレス範囲。 スクリプトを実行する前に、次の手順を行います。
Google Cloud SQL インスタンスで IP 範囲を承認する このデータソースから 1 つずつ取得します。
データベースに割り当てられた URL をコピーします。が フォーム
jdbc:mysql:subname
。
これらの IP 範囲を承認したら、VPC ネットワーク内の Google Cloud SQL インスタンスに Jdbc.getConnection(url) 先ほどコピーした URL を入力します。
その他のデータベース
すでに独自の MySQL、Microsoft SQL Server、Oracle データベースがある場合は、 Apps Script の JDBC サービスを介して接続できます。
他のデータベース接続の作成
Apps Script を使用してデータベース接続を作成するには、 データベース設定の JDBC サービス このデータソースの IP 範囲を承認する必要があります。
これらの許可リストを設定したら、データベースへの接続を作成できます。 いずれかを使用 Jdbc.getConnection(url) メソッドとデータベースの URL を使用します。
サンプルコード
以下のサンプルコードは、Google Cloud SQL データベースに接続していることを前提としています。 使用してデータベース接続を作成します。 Jdbc.getCloudSqlConnection(url) メソッドを呼び出します。その他のデータベースの場合は、 Jdbc.getConnection(url) メソッドを使用してデータベース接続を作成します。
JDBC メソッドについて詳しくは、このモジュールの JDBC の Java ドキュメント。
データベース、ユーザー、テーブルを作成する
ほとんどのデベロッパーは
MySQL コマンドライン ツールを使用して、
データベース、ユーザー、テーブルを作成できます。同じことを
それを Apps Script に置く必要があります。少なくとも 1 つ作成することをおすすめします。
データベースに接続する必要はありません。
root
。
データベースに書き込む
以下の例は、単一のレコードをデータベースに書き込む方法を示しています。 500 件のレコードのバッチです一括処理は一括操作に不可欠です。
また、パラメータ化されたステートメントを使用していることにも注意してください。このステートメントでは、変数が
?
で示されます。防ぐ方法
SQL インジェクション攻撃に対応するには、SQL インジェクション
パラメータ化ステートメントを使用して、ユーザー提供データをすべてエスケープします。
データベースから読み取る
この例では、Cloud Storage バケットから多数のレコードを読み取る方法を 必要に応じて結果セットをループします。
接続を閉じる
スクリプトの実行が完了すると、JDBC 接続は自動的に閉じます。(
1 つの google.script.run
が
呼び出しを行った HTML サービス ページが
通話はオープンのままになります)。
それでも、接続、ステートメント、結果セットが完了したことがわかっている場合は
手動で終了することをおすすめします。それには、
JdbcConnection.close()
JdbcStatement.close()
,
または
JdbcResultSet.close()
。
アラートまたはプロンプト ダイアログの表示 開いている JDBC 接続も終端します。一方で その他の表示 UI は カスタム メニューやダイアログ、サイドバーなどのカスタム 含まれません。
Google、Google Workspace、および関連するマークとロゴは、 Google LLC.その他すべての社名および製品名は、各社の商標です。 。