http://www.h2database.com/html/main.html
http://homepage2.nifty.com/yoks/TechNote/H2/H2_MnFrm.htm
H2DBは大きく2つのモードがある。
- 組込(Embedded)
- ローカルのDBファイルに直接アクセスする。サービスを外部へ公開することはできない。SQLiteみたいな感じ。
- サーバモード
- DBサーバとして起動するモード。サービスを外部へ公開できる。通常のDB
また、バージョン違いでの接続は避けたほうが無難。
組込(Embedded)モード
jdbc:h2:[file:]パス
例
jdbc:h2:~/test jdbc:h2:file:~/test
など。 「file」の表記はあってもなくてもどっちでも良い。
指定パターン | データベースファイルの所在 |
---|---|
jdbc:h2:~/test | C:\Documents and Settings\Windowsユーザー名\ に、testデータベースが作成される。 |
jdbc:h2:test | この場合も~指定と同様に、C:\Documents and Settings\Windowsユーザー名\ にtestデータベースが作成される。これはサーバーモードでH2 DBを動かしたときとは違う動作になる。 |
jdbc:h2:c:\work\data\test | ドライブ名からフルパスで指定したときは、そのフルパス指定の場所に作成される。例ではc:\work\data\ に、testデータベースが作成される。 |
サーバモード
jdbc:h2:tcp://localhost/~/test
などで接続。事前に
h2.bat
等でサーバを起動しておく必要がある。
指定パターン | データベースファイルの所在 |
---|---|
jdbc:h2:tcp://localhost/~/test | C:\Documents and Settings\Windowsユーザー名\ に、testデータベースが作成される。 |
jdbc:h2:tcp://localhost/test | H2インストールディレクトリ\bin\ に、testデータベースが作成される。 |
jdbc:h2:tcp://localhost/c:\work\data\test | ドライブ名からフルパスで指定したときは、そのフルパス指定の場所に作成される。例ではc:\work\data\ に、testデータベースが作成される。 |
データ型
http://d.hatena.ne.jp/sekom/20081201/p1
H2のデータ型 | See also | 備考 |
---|---|---|
INT | java.lang.Integer | - |
BOOLEAN | java.lang.Boolean | - |
TINYINT | java.lang.Byte | - |
SMALLINT | java.lang.Short | - |
BIGINT | java.lang.Long | - |
IDENTITY | java.lang.Long | - |
DECIMAL | java.math.BigDecimal | - |
DOUBLE | java.lang.Double | - |
REAL | java.lang.Float | - |
TIME | java.sql.Time | java.sql.Timeのインスタンスを生成する際には、年月日の部分は1970年1月1日にしないと挙動不審な動作をします。 |
DATE | java.sql.Date | - |
TIMESTAMP | java.sql.Timestamp | - |
BINARY | - | byte[]と互換性があります。SetXXX時には、java.io.InputStream(抽象クラスです)も使用可能です。 |
OTHER | - | java.lang.Objectと互換性があります。 |
VARCHAR | java.lang.String | SetXXX時には、java.io.Reader(抽象クラスです)も使用可能です。setAsciiStream時には、java.io.InputStream(抽象クラスです)も使用可能です。 |
VARCHAR_IGNORECASE | - | java.lang.Stringと互換性があります。 |
CHAR | - | java.lang.Stringと互換性があります。 |
BLOB | - | ResultSetから取り出す際には、java.sql.Blob(インターフェースです)で取り出します。SetXXX時にはjava.sql.Blob(インターフェースです)、javax.sql.rowset.serial.SerialBlob(J2SE5以降)、byte[]のいずれかを使用します。 |
CLOB | - | ResultSetから取り出す際には、java.sql.Clob(インターフェースです)で取り出します。SetXXX時にはjava.sql.Clob(インターフェースです)、javax.sql.rowset.serial.SerialClob(J2SE5以降)、java.lang.Stringのいずれかを使用します。 |
UUID | - | java.lang.Longと互換性があります。 |
ARRAY | - | java.lang.Objectと互換性があります。紛らわしいですが、java.sql.Arrayとは互換性がありません。 |
[カテゴリ: データベース > SQLite]
[通知用URL]
Tweet
最終更新時間:2013年06月02日 12時28分26秒