如果有必要的数据库

时间:2010-05-31 12:39:22

标签: java derby

我有一个使用嵌入式数据库机制的桌面程序。用户第一次执行程序时,必须创建一个数据库。这样,下次有一个数据库,就没有必要创建它了。

如何检查是否有数据库并在必要时创建它?

2 个答案:

答案 0 :(得分:5)

使用JDBC URL中的create=true属性,如下所示:

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

请参阅Apache Derby Reference Manual

  

create = true attribute

     

创建在数据库连接URL Derby系统中指定的标准数据库,然后连接到该数据库。如果无法创建数据库,则错误日志中将显示错误,并且连接尝试失败,并显示SQLException,指示无法找到数据库。

     

如果数据库已存在,则创建与现有数据库的连接,并发出SQLWarning。

您可能需要捕获SQLWarning(这是一个例外),但您可以放心地忽略它。

答案 1 :(得分:1)

我正在创建安装脚本的数据库部分,因此您可以始终指望它在那里。

  

好的,但如何做到这一点   在任何平台上工作?

如果您使用的是Derby和Java,它将适用于所有平台。您只需要编写不同的安装脚本:Windows的.bat或.cmd,Linux和Mac的.sh。不太费劲。

  可能有   一种检查是否存在的方法   没有创造它?

尝试建立JDBC连接。如果失败,请执行DDL SQL。