私はDerby埋め込みDBを使用して、Junitsのスイートを実行するJava + Springプロジェクトに取り組んでいます。私は直接junitテストを通してアクセスするのではなく、Squirrel SQLクライアントを使ってEmbedded DBに問い合わせることができます。この理由は、私は非常に複雑なデータ構造を扱っているため、エディタを使用したクエリはテストケースを構築するのに非常に役立ちます。デバッグでJUnitを実行すると、データベースが初期化されてそこに残った後にブレークポイントが設定されます。つまり、この時点で組み込みDBが作成されます。以下は、DBを配線するスプリング構成を示しています。以下はリスのダービー埋め込みDBに接続
<bean id="targetDataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="org.apache.derby.jdbc.EmbeddedDriver" />
<property name="url" value="jdbc:derby:memory:unitTestDB;create=true" />
<property name="username" value="sa" />
<property name="password" value="" />
</bean>
私はJUnitのスイートが使用するのと同じドライバを使用して、以下のように見えるエイリアスを作成しています
Executing SQL script from class path resource [mydb/create-schema.sql]
Done executing SQL script from class path resource [mydb/create-schema.sql] in 107 ms.
Executing SQL script from class path resource [mydb/create-sequences.sql]
Done executing SQL script from class path resource [mydb/create-sequences.sql] in 403 ms.
Executing SQL script from class path resource [mydb/create-tables.sql]
Done executing SQL script from class path resource [mydb/create-tables.sql] in 3844 ms.
Executing SQL script from class path resource [mydb/create-views.sql]
Done executing SQL script from class path resource [mydb/create-views.sql] in 2118 ms.
Executing SQL script from class path resource [mydb/MY_TABLE.sql]
Done executing SQL script from class path resource [mydb/MY_TABLE.sql] in 1380 ms.
... DBは、この時点で完全にロードされるコンソール出力を示し、リスに...
私は接続を作成することができますが、リスは、スキーマ+テーブルをロードすることができないように思えます。
私はここで間違って何をやっているのでしょうか?
興味深いことに、何かが起こっていたような気分でした。 – Jason
組み込みデータベースをマウントできるJVMインスタンスは1つだけです。同時に2つのデータベースサーバーが同じデータベースオンディスクを管理しようとしているとします。それは同じ考えです。 – Bill