組み込みデータベースメカニズムを使用するデスクトッププログラムがあります。ユーザーが初めてプログラムを実行するときは、データベースを作成する必要があります。そのため、次回データベースがあり、それを作成する必要はありません。
データベースがあるかどうかを確認し、必要に応じて作成するにはどうすればよいですか?
create=true
次のように、JDBCURLの属性を使用します。
Connection conn = DriverManager.getConnection("jdbc:derby:sampleDB;create=true");
ApacheDerbyリファレンスマニュアルを参照してください。
create=true属性
データベース接続URLDerbyシステム内で指定された標準データベースを作成し、それに接続します。データベースを作成できない場合、エラーはエラーログに表示され、接続の試行は失敗し、データベースが見つからないことを示すSQLExceptionが発生します。
データベースがすでに存在する場合は、既存のデータベースへの接続を作成し、SQLWarningが発行されます。
おそらくキャッチするSQLWarning
必要がありますが(これは例外です)、無視しても問題ありません。
私はインストールスクリプトのデータベース部分を作成しているので、いつでもそこにあることを期待できます。
わかりましたが、どのプラットフォームでも機能するようにするにはどうすればよいですか?
DerbyとJavaを使用している場合は、すべてのプラットフォームで機能します。異なるインストールスクリプトを作成する必要があります。Windowsの場合は.batまたは.cmd、LinuxおよびMacの場合は.shです。それほど精力的ではありません。
あるかどうか、作成されていないかどうかを確認する方法はありますか?
JDBC接続を作成してみてください。失敗した場合は、DDLSQLを実行します。