さて、準備が整ったら、
Google Apps Scriptから
Cloud SQLにアクセスしてみましょう。
Cloud SQLの利用には、「
Jdbc」というサービスを利用します。これは、おそらくJavaの
JDBC(Java DataBase Connection)というAPIを利用しているのでこういう名前なのでしょう。
この
Jdbcサービスには、データベースアクセスに関するいくつかのオブジェクトが用意されています。以下にざっと整理しておきます。
・Jdbcこれが本体ですね。
Jdbcには、データベースとの接続を管理する「
JdbcConnection」オブジェクトを生成するためのメソッドが用意されています。
・JdbcConnectionデータベースとの接続を管理するオブジェクトです。実行するクエリーのオブジェクト「
JdbcStatement」を作成するメソッドなどもここにあります。
・JdbcStatementデータベースで実行するクエリーを管理するオブジェクトです。ここで実行するクエリーなどのメソッドを呼び出したりします。
・JdbcResultSetSELECT文のように結果を返すクエリーを
JdbcStatementで実行した場合、この
JdbcResultSetというオブジェクトとして返されます。結果の情報をまとめて管理するもので、ここからレコードの値などを取得していきます。
■データベースへの接続の流れ
データベースアクセスは、
Jdbcにあるメソッドを使い、「
JdbcConnection」というオブジェクトを作成するところから始まります。まずはこのオブジェクトを作成することで、指定のデータベースとの接続が開始されるのです。
これには、大きく分けて2種類のメソッドが用意されています。それぞれ役割が違うので注意してください。
・通常のSQLサーバーへの接続変数 = Jdbc.getConnection( データベースの指定 );
データベースの指定――
"jdbc:mysql://<ホスト>:3306/<インスタンス>"・Cloud SQLへの接続変数 = Jdbc.getCloudSqlConnection( データベースの指定 );
データベースの指定――"jdbc:google:rdbms://<インスタンス>/<データベース>"MySQLサーバーなどに直接アクセスする場合には、
getConnectionを使いますが、
Cloud SQLではこれは使えません。
getCloudSqlConnectionという専用のメソッドを利用する必要があります。