34

現時点では組み込みデータベースとしてHSQLDBを使用していますが、データ量が増えるにつれてメモリ フットプリントが少ないデータベースを探します。

Derby / JavaDBは、プロパティをシステム プロパティにグローバルに格納するため、現時点ではオプションではありません。そこで、h2を考えました。

HSQLDB を使用しながら、サーバー オブジェクトを作成し、パラメーターを設定して開始しました。これはここで説明されています(また、クラス org.hsqldb.test.TestBase の例として示されています)。

問題は、これを h2 データベースと同様に行うことができるかということです。そのためのコードサンプルはありますか? h2 ページをスキャンしても、例が見つかりませんでした。

4

3 に答える 3

73

はい、埋め込みモードでH2を実行できます。JDBCドライバーを使用して、次のような埋め込みURLに接続します(例)。

このデータベースは、組み込みモードまたはサーバーモードで使用できます。埋め込みモードで使用するには、次のことを行う必要があります。

* Add h2.jar to the classpath
* Use the JDBC driver class: org.h2.Driver
* The database URL jdbc:h2:~/test opens the database 'test' in your user home directory

JDBCを使用して組み込みH2データベース(http://www.h2database.com/javadoc/org/h2/jdbcx/JdbcDataSource.htmlから採用)に接続する例:

import org.h2.jdbcx.JdbcDataSource;
// ...
JdbcDataSource ds = new JdbcDataSource();
ds.setURL("jdbc:h2:˜/test");
ds.setUser("sa");
ds.setPassword("sa");
Connection conn = ds.getConnection();

純粋にメモリ内/組み込みモードでH2を使用する場合は、それも可能です。詳細については、次のリンクを参照してください。

「jdbc:h2:mem:db1」のような通常のJDBCコードで特別なURLを使用する必要があります。

于 2008-09-30T22:41:32.200 に答える
24

ダウンロードから、tutorial.htmlファイルにこれが含まれていることがわかります

import org.h2.tools.Server;
...
// start the TCP Server
Server server = Server.createTcpServer(args).start();
...
// stop the TCP Server
server.stop();
于 2008-09-30T21:46:58.883 に答える
5

何らかの理由でサーバー モードで組み込みの H2 データベースが必要な場合は、http: //www.h2database.com/javadoc/org/h2/tools/Server.html の API を使用して手動で行うか、;AUTO_SERVER を追加して行うことができます。データベース URL に対して =TRUE。

于 2010-09-27T18:14:27.753 に答える