Jun 20, 2006
[Mustang] Derby in Mustang にチャレンジ
色々なところで話題になっているようだが、Derby が Mustang に同梱されるらしい。 公式には Java DB という DBMS が搭載されるということだが、Java DB のサイトには
What's Java DB?と記述されているので、Java DB == Derby ということだろう。
Java DB is Sun's supported distribution of the open source Apache Derby 100% Java technology database. It is fully transactional, secure, easy-to-use, standards-based -- SQL, JDBC API, and Java EE -- yet small, only 2MB. The Apache Derby project has a strong and growing community that includes developers from large companies such as Sun Microsystems and IBM as well as individual contributors.
ユニットテストやプロトタイプ開発時など「とりあえず何でもいいから DBMS が欲しい」というときに Derby を結構使うので同梱してくれるのは多少嬉しい。 ・・・ Maven2 使っていれば別に同梱してくれなくてもすぐ使えるけれど。
- Java DB is bundled in Mustang
- http://weblogs.java.net/blog/davidvc/archive/2006/06/java_db_is_bund.html
- Java DB
- http://developers.sun.com/prodtech/javadb
Derby in Mustang のインストール
早速 Java Platform, Standard Edition 6 Binary Snapshot Releases から jdk-6-rc-bin-b88-windows-i586-15_jun_2006.exe をダウンロードしてインストールしてみた。 インストールされた J2SE SDK を見てみると、%JAVA_HOME%\db に Derby がそのまま同梱されていることが分かる。
>tree /f C:\_java\jdk\1.6.0_15_jun_2006\db
C:\_JAVA\JDK\1.6.0_15_JUN_2006\DB
│ 3RDPARTY
│ CHANGES
│ COPYRIGHT
│ LICENSE
│ NOTICE
├─demo
│ ├─databases ... snip
│ └─programs ... snip
├─frameworks
│ │ readme.html
│ ├─embedded
│ │ │ readme.html
│ │ └─bin
│ │ dblook.bat
│ │ dblook.ksh
│ │ ij.bat
│ │ ij.ksh
│ │ setEmbeddedCP.bat
│ │ setEmbeddedCP.ksh
│ │ sysinfo.bat
│ │ sysinfo.ksh
│ └─NetworkServer
│ │ readme.html
│ └─bin
│ dblook.bat
│ dblook.ksh
│ ij.bat
│ ij.ksh
│ NetworkServerControl.bat
│ NetworkServerControl.ksh
│ setNetworkClientCP.bat
│ setNetworkClientCP.ksh
│ setNetworkServerCP.bat
│ setNetworkServerCP.ksh
│ startNetworkServer.bat
│ startNetworkServer.ksh
│ stopNetworkServer.bat
│ stopNetworkServer.ksh
│ sysinfo.bat
│ sysinfo.ksh
└─lib
derby.jar
derby.war
derbyclient.jar
derbyLocale_de_DE.jar
derbyLocale_es.jar
derbyLocale_fr.jar
derbyLocale_it.jar
derbyLocale_ja_JP.jar
derbyLocale_ko_KR.jar
derbyLocale_pt_BR.jar
derbyLocale_zh_CN.jar
derbyLocale_zh_TW.jar
derbynet.jar
derbyrun.jar
derbytools.jar
Derby in Mustang を使ってみる
環境設定
Mustang 内の Derby を実行するには、JAVA_HOME、DERBY_HOME という環境変数を指定する必要がある。 これら環境変数を指定した後で、DERBY_HOME の中にある環境設定用バッチファイルを実行する。 今回は Embedded モードを使用した。
> set JAVA_HOME=c:\_java\jdk\1.6.0_15_jun_2006 > set DERBY_HOME=%JAVA_HOME%\db > set PATH=%JAVA_HOME%\bin;%PATH% > %DERBY_HOME%\frameworks\embedded\bin\setEmbeddedCp.bat SET DERBY_HOME=c:\_java\jdk\161730~1.0_1\db set CLASSPATH=c:\_java\jdk\161730~1.0_1\db\lib \derby.jar;c:\_java\jdk\161730~1.0_1\db\lib\derbytools.jar;.;C:\Program Files\Ja va\jre1.5.0_06\lib\ext\QTJava.zip
環境確認
Derby の情報を確認するための sysinfo.bat というバッチファイルが用意されているので実行してみた。
> java -version
java version "1.6.0-rc"
Java(TM) SE Runtime Environment (build 1.6.0-rc-b88)
Java HotSpot(TM) Client VM (build 1.6.0-rc-b88, mixed mode, sharing)
> %DERBY_HOME%\frameworks\embedded\bin\sysinfo.bat
------------------ Java 情報 ------------------
Java バージョン: 1.6.0-rc
Java ベンダー: Sun Microsystems Inc.
Java ホーム: c:\_java\jdk\1.6.0_15_jun_2006\jre
Java クラスパス: c:\_java\jdk\161730~1.0_1\db\lib\derby.jar;c:\_java\jdk\1
61730~1.0_1\db\lib\derbytools.jar;.;C:\Program Files\Java\jre1.5.0_06\lib\ext\QT
Java.zip
OS 名: Windows XP
OS アーキテクチャー: x86
OS バージョン: 5.1
Java ユーザー名: me
Java ユーザー・ホーム: C:\Documents and Settings\me
Java ユーザー dir: C:\Hoge
java.specification.name: Java Platform API Specification
java.specification.version: 1.6
--------- Derby 情報 --------
JRE - JDBC: ?-?
[C:\_java\jdk\1.6.0_15_jun_2006\db\lib\derby.jar] 10.2.0.3 alpha - (412448:41244
9)
[C:\_java\jdk\1.6.0_15_jun_2006\db\lib\derbytools.jar] 10.2.0.3 alpha - (412448:
412449)
------------------------------------------------------
----------------- ロケール情報 ----------------
現行ロケール : [日本語/日本 [ja_JP]]
ロケールのサポートが見つかりました: [de_DE]
バージョン: 10.2.0.3 alpha - (412448:412449)
ロケールのサポートが見つかりました: [es]
バージョン: 10.2.0.3 alpha - (412448:412449)
ロケールのサポートが見つかりました: [fr]
バージョン: 10.2.0.3 alpha - (412448:412449)
ロケールのサポートが見つかりました: [it]
バージョン: 10.2.0.3 alpha - (412448:412449)
ロケールのサポートが見つかりました: [ja_JP]
バージョン: 10.2.0.3 alpha - (412448:412449)
ロケールのサポートが見つかりました: [ko_KR]
バージョン: 10.2.0.3 alpha - (412448:412449)
ロケールのサポートが見つかりました: [pt_BR]
バージョン: 10.2.0.3 alpha - (412448:412449)
ロケールのサポートが見つかりました: [zh_CN]
バージョン: 10.2.0.3 alpha - (412448:412449)
ロケールのサポートが見つかりました: [zh_TW]
バージョン: 10.2.0.3 alpha - (412448:412449)
------------------------------------------------------
サンプルコード実行
以前作成した Embedded モード Derby 用のサンプルコードを実行してみた。
> java jp.in_vitro.codelets.mustang.javadb.Codelet field01=100, field02=dummy data field01=888, field02=hogehoge Derby システムがシャットダウンされました。 : 50000



