2

初めてHSQLを使用しています。HSQL データベース サーバー エンジンを使用して DatabaseMANagerSwing を接続すると、PUBLICスキーマが既に存在し、そのスキーマの下に Customers などのいくつかのテーブルが含まれていることがわかりました。

HSQL データベース サーバー エンジンとしてモードを使用する場合、データ (つまり、パブリック スキーマとそのスキーマのテーブル) はどこに保存されるのでしょうか?

誰かがこれについて説明してもらえますか?

よろしく、

4

2 に答える 2

2

データは、HSQLDBを埋め込みモードで実行している場合と同じようにファイルに保存されます。サーバーによって管理される各データベースのファイルを保存する場所を構成するには、サーバーの起動時にコマンドライン引数を指定できます。

java -cp ../lib/hsqldb.jar org.hsqldb.server.Server --database.0 file:mydb --dbname.0 xdb

または、プロパティファイルに頼る:

database.0=file:/opt/db/accounts
dbname.0=an_alias

database.1=file:/opt/db/mydb
dbname.1=enrollments

database.2=mem:adatabase
dbname.2=quickdb

接続層は物理層から独立しています。つまり、元々サーバープロセスによって埋め込まれたモードで作成されたデータベースファイルにアクセスでき、その逆も可能です。

于 2012-12-24T12:15:32.453 に答える
1

Anthony による回答では、データベース ファイルの場所を指定する方法について説明しています。

Re: 「PUBLIC スキーマが既に存在し、そのスキーマの下に Customers などのいくつかのテーブルが含まれていることを確認しました。」

PUBLIC スキーマは、新しいデータベースに既に存在します。ただし、表示されたテーブルは、DatabaseManager メニューの [オプション] 項目をクリックし、ドロップダウン メニューから [テスト データの挿入] を選択したときに作成されたものです。

データベース ファイルの場所を指定せずに HSQLDB の Server インスタンスを起動すると、サーバーを起動するための Java コマンドを実行したディレクトリにファイルが作成されます。

データベースには複数のスキーマを含めることができます。すべてのスキーマは、同じデータベース ファイルのセットに格納されます。

于 2012-12-24T14:48:08.427 に答える