GridDB CEはバージョン4.5以降、JDBC経由のSQLのサポートを開始しました。これによって、JDBCをサポートするアプリケーションを構築することが可能になりました。このブログでは、SQLWorkbench/Jを使い、簡単なSQLクエリを使ってGridDBに格納されたデータを表示する方法を紹介します。
ここでは、クイックスタートのガイドに従ってGridDBサーバを起動していると想定して、GridDB JDBCドライバを構築するところから説明します。
GridDB JDBCドライバの構築
$ sudo yum -y install java-1.8.0-openjdk-devel
$ git clone https://github.com/griddb/jdbc.git griddb_jdbc
$ cd griddb_jdbc
$ ant
$ sudo cp bin/gridstore-jdbc.jar /usr/share/java/
使うGridDBの設定によっては、JDBCSelect.javaを編集して、クラスタ名、ユーザ名、パスワードなどの設定パラメータを修正する必要があります。特にクラスタ名は「myCluster」となっていますが、多くのGridDBのドキュメントでは「defaultCluster」が使われています。それではサンプルを実行してみます。
$ cd sample/en/jdbc/
$ javac JDBCSelect.java
$ export CLASSPATH=:/usr/share/java/gridstore-jdbc.jar
$ java JDBCSelect
SQL Create Table name=SampleJDBC_Select
SQL Insert count=5
SQL row(id=3, value=test3)
SQL row(id=4, value=test4)
success!
SQLWorkbench/J のダウンロードと実行
まず、ダウンロードページからSQLWorkbench/Jの実行ファイルをダウンロードして解凍します。
$ wget https://www.sql-workbench.eu/Workbench-Build125.zip
$ mkdir sqlworkbench
$ cd sqlworkbench
$ unzip ../Workbench-Build125.zip
$ chmod +x *.sh
これでコマンドラインSQLWorkbench/Jを実行できるようになりました。
$ ./sqlwbconsole.sh
これで、WBConnectコマンドでGridDBに接続することができるようになりました。次に、以下に示すように、ドライバのクラスパス、JARファイル、JDBのURL、ユーザ名、パスワードを設定します。
SQL Workbench/J (125) console interface started.
Enter exit to quit.
Enter WbHelp for a list of SQL Workbench/J specific commands
Config directory: /home/owen/.sqlworkbench
SQL> WbConnect -driver=com.toshiba.mwcloud.gs.sql.Driver -driverJar=/usr/share/java/gridstore-jdbc.jar -url=jdbc:gs://239.0.0.1:41999/defaultCluster/public -username=admin -password=admin
;
Connection to "User=admin, URL=jdbc:gs://239.0.0.1:41999/defaultCluster/public"
successful
SQL> select * from SampleJDBC_Select;
id | value
---+------
0 | test0
1 | test1
2 | test2
3 | test3
4 | test4
(5 Rows)
SELECT executed successfully
SQL>
上記のSELECT文は、サンプルアプリケーションで作成したデータを読み込みます。
グラフィカルなSQLWorkbench/J
$ ./sqlworkbench.sh
SQLWorkbenchが起動したら、まず新しい接続ウィンドウを閉じてGridDBドライバを追加します。これは File->Manage Drivers
メニューから行うことができます。
まず、ドライバの名前を 「GridDB 」などと入力し、ファイル選択ダイアログでJARの場所を探して入力します。この例では/usr/share/java/gridstore-jdbc.jarで、クラスパスが自動入力されました。
GridDBドライバを追加したら、File->Connect Window
に移動するか、Alt-C
キーを選択します。接続ウィンドウ内で「Local GridDB 」などの接続名を設定し、DriversのドロップダウンメニューからGridDBを選択します。URL には、標準的な GridDB のインストールに適した jdbc:gs://239.0.0.1.1:41999/defaultCluster/public を使用し、ユーザ名とパスワードは gs_passwd で設定します。
上記のフィールドをすべて埋めたら、「テスト」ボタンをクリックして、すべてが正しく設定されていれば、「Jdbc:gs://239.0.0.1.1:41999/defaultCluster/publicへの接続が成功しました。」というダイアログが表示されるはずです。
ここでは、Statementのテキストフィールドにselect * from SampleJDBC_Select
と入力し、再生ボタンをクリックしました。これでJDBCSampleで書き込まれたデータがクエリされます。返された行は、Resultsタブのグリッドに表示されます。
以上で、GridDBを使ってSQLWorkbench/J SQLを使う方法を簡単に紹介しました。
ブログの内容について疑問や質問がある場合は Q&A サイトである Stack Overflow に質問を投稿しましょう。 GridDB 開発者やエンジニアから速やかな回答が得られるようにするためにも "griddb" タグをつけることをお忘れなく。 https://stackoverflow.com/questions/ask?tags=griddb