当前位置:  开发笔记 > 编程语言 > 正文

Apache Derby - 检查数据库已经创建?

如何解决《ApacheDerby-检查数据库已经创建?》经验,为你挑选了2个好方法。

使用Apache Derby with Java(J2ME,但我认为这没有什么区别)有没有办法检查数据库是否已经存在并包含一个表?



1> Adeel Ansari..:

我知道没有,除了很少有解决办法,不像我们拥有IF EXIST设施的MySQL.

你做的是,尝试连接到数据库,如果不可能它不存在.成功连接后,您可以进行简单的选择,例如SELECT count(*)FROM TABLE_NAME,以了解表是否存在.你将取决于例外.即使在Sun的官方例子中,我也看到过类似的工作.

在Oracle中,我们有字典表来了解数据库对象.我怀疑德比有没有这样的东西.

将帖子

好吧,我发现有一种方法可以知道表是否存在.尝试,SELECT tablename FROM SYSTABLES.它是用于检查表的存在,用于检查数据库,您可能需要做类似的事情,我在上面解释过.



2> Evan..:

Adeel,你也可以使用Connection.getMetaData返回一个DatabaseMetaData对象,然后在你连接到数据库时使用getTables.这样做的好处是可以为任何带有JDBC驱动程序的数据库工作.

要检查数据库是否存在,如果以嵌入方式使用Derby,或者服务器位于同一台计算机上,则可以检查数据库的文件夹是否存在.虽然有点kludgy.我会按照Adeel的建议做并尝试连接,如果它不存在则捕获异常.

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有