2

組み込みデータベースメカニズムを使用するデスクトッププログラムがあります。ユーザーが初めてプログラムを実行するときは、データベースを作成する必要があります。そのため、次回データベースがあり、それを作成する必要はありません。

データベースがあるかどうかを確認し、必要に応じて作成するにはどうすればよいですか?

4

2 に答える 2

5

create=true次のように、JDBCURLの属性を使用します。

Connection conn = DriverManager.getConnection("jdbc:derby:sampleDB;create=true");

ApacheDerbyリファレンスマニュアルを参照してください。

create=true属性

データベース接続URLDerbyシステム内で指定された標準データベースを作成し、それに接続します。データベースを作成できない場合、エラーはエラーログに表示され、接続の試行は失敗し、データベースが見つからないことを示すSQLExceptionが発生します。

データベースがすでに存在する場合は、既存のデータベースへの接続を作成し、SQLWarningが発行されます。

おそらくキャッチするSQLWarning必要がありますが(これは例外です)、無視しても問題ありません。

于 2010-05-31T13:00:40.410 に答える
1

私はインストールスクリプトのデータベース部分を作成しているので、いつでもそこにあることを期待できます。

わかりましたが、どのプラットフォームでも機能するようにするにはどうすればよいですか?

DerbyとJavaを使用している場合は、すべてのプラットフォームで機能します。異なるインストールスクリプトを作成する必要があります。Windowsの場合は.batまたは.cmd、LinuxおよびMacの場合は.shです。それほど精力的ではありません。

あるかどうか、作成されていないかどうかを確認する方法はありますか?

JDBC接続を作成してみてください。失敗した場合は、DDLSQLを実行します。

于 2010-05-31T12:45:40.890 に答える