`
icess
  • 浏览: 253430 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

关于关闭Java DB(Derby)时抛出异常的问题

阅读更多

在前面两篇 http://blog.matrix.org.cn/comments/icess/Weblog/use_derby_with_clob_and  文章中,我简单介绍了如何使用Java DB操作数据,今天发现一个关于关闭数据库的问题, 就是在调用前面例子中的关闭数据库代码时候总是抛出异常 ,后来到文档里面看看 ,原来在关闭数据库时候, Derby总是抛出异常,我还以为是我那个地方写错了呢?

以前例子中没有显示异常信息 是应为 在关闭数据库的方法中没有使用 打印异常信息的语句, 如下

public void disconnect() {
        if(isConnected) {
            String dbUrl = getDatabaseUrl();
            dbProperties.put("shutdown", "true");
            try {
                DriverManager.getConnection(dbUrl, dbProperties);
            } catch (SQLException ex) {
             //ex.printStackTrace();   // 前面的例子没有该句, 如果加上该句,就会看的异常信息
            }
            isConnected = false;
        }
    }

 

所以,当大家看到下面的异常时候,不用担心 不是你的代码写错了,而是程序正确关闭数据库的提示(有点违背异常的设计初衷哦).

ERROR 08006: Database 'TestClob' shutdown.
 at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
 at org.apache.derby.impl.jdbc.TransactionResourceImpl.shutdownDatabaseException(Unknown Source)
 at org.apache.derby.impl.jdbc.EmbedConnection.<init>(Unknown Source)

...........
21:10 补充:

使用Java DB的最佳实践

Recommended practices

When developing Derby applications, create a single directory to hold your database or databases. Give this directory a unique name, to help you remember that:
  • All databases exist within a system.
  • System-wide properties affect the entire system, and persistent system-wide properties live in the system directory.
  • You can boot all the databases in the system, and the boot-up times of all databases affect the performance of the system.
  • You can preboot databases only if they are within the system. (Databases do not necessarily have to live inside the system directory, but keeping your databases there is the recommended practice.)
  • Once you connect to a database, it is part of the current system and thus inherits all system-wide properties.
  • Only one instance of Derby can run in a JVM at a single time, and only one instance of Derby should boot a database at one time. Keeping databases in the system directory makes it less likely that you would use more than one instance of Derby.
  • The error log is located inside the system directory.
分享到:
评论

相关推荐

    使用 Java DB (Derby) 数据库

    ### 使用 Java DB (Derby) 数据库 - NetBeans IDE 7.0 教程 #### 知识点一:Java DB (Derby) 概述 - **定义**:Java DB 是 Sun 支持的 Apache Derby 的一个版本,是一款全事务型、安全且基于标准的数据库服务器。该...

    java DB derby.jar

    试过了,可以用的。这次没有出现 数据库连接错误的问题

    java derby数据库详解

    总的来说,Java SE 6中的Java DB(Derby)为开发者提供了一种快速开发和测试数据库应用的工具,简化了数据库管理,降低了入门门槛,使得Java程序员可以更专注于业务逻辑的实现。通过学习和掌握Derby,开发者能够更好...

    db-derby.rar_derby_derby java

    【标签】"derby derby_java" 进一步明确了主题,"derby"表示这是关于Apache Derby的资料,而"derby_java"强调了其与Java语言的紧密关联,意味着这些资料将涉及如何在Java环境下操作和管理Derby数据库。 在【压缩...

    db-derby-10.11

    使用Java Derby时,开发者可以通过JDBC(Java Database Connectivity)接口进行数据库操作。例如,创建数据库只需一行代码`DatabaseConnection.getConnection("jdbc:derby:myDB;create=true")`。此外,Derby支持...

    Derby安装,创建数据库,在JAVA程序中使用Derby

    然后,我们需要配置环境变量,建立`DERBY_HOME`环境变量,值为`E:\Java\Joy\derby\db-derby-10.5.3.0-bin\db-derby-10.5.3.0-bin`。在`Path`中添加 `%DERBY_HOME%\bin`,在`CLASSPATH`中添加`%DERBY_HOME%\lib\derby...

    安装javaDB

    当不再需要数据库时,可以使用`shutdown`命令关闭JavaDB服务器:`SHUTDOWN`(在`ij`工具中)或`java -jar $DERBY_HOME/lib/derbyrun.jar sysinfo --shutdown`(在命令行中)。 11. **备份与恢复**: JavaDB允许你...

    Java6中自带的JavaDB(derby)数据库.pdf

    Java DB,也称为Apache Derby,是Java 6中引入的一个重要的组成部分。它是完全用Java语言编写的开源数据库管理系统,属于Apache软件基金会的项目。Derby以其小巧轻便著称,只有2MB的大小,但提供了丰富的数据库管理...

    Java DB 10.8版本 官方技术手册合集(英文版

    Java DB(英文全称data base,数据库)是依照某种数据模型组织起来并存放二...Java DB 是Oracle 支持的Apache Derby 开源数据库的发行版本。它通过JDBC 和Java EE API 支持标准的ANSI/ISO SQL。Java DB 包括在JDK 中。

    javadb.pdf

    根据提供的文件信息,可以看出这份文档主要与Sun Microsystems公司的一款产品有关,尽管标题提及了“javadb”,但在给出的部分内容中并未直接涉及Java DB的具体细节。不过,考虑到这份文档的背景以及描述中提到的...

    JavaDB/derby.jar

    Java嵌入式数据库的驱动包,详见JDK1.6的说明文档

    db-derby-10.11.1.1-bin.zip

    Apache Derby,也被称为Java DB,是一款轻量级、开源的关系型数据库管理系统,完全用Java编写,遵循Apache软件基金会的开放源代码协议。这个名为"db-derby-10.11.1.1-bin.zip"的压缩包包含了Apache Derby 10.11.1.1...

    JavaDB_Driver

    JavaDB_Driver中的derby.jar文件是JavaDB驱动程序的主要组成部分,包含所有必要的类和资源,使得Java应用程序能够连接、查询、更新和管理JavaDB数据库。 使用JavaDB_Driver进行数据库操作时,通常需要以下几个步骤...

    Apache Derby/Java DB 开发手册

    Derby Developer's Guide. Purpose of this guide This guide explains how to use the core Derby technology and is for developers building Derby applications. It describes basic Derby concepts, such as ...

    db-derby-10.11.1.1-src.zip

    Apache Derby,是一个开源的关系型数据库管理系统,由Apache软件基金会维护,是Java平台上的轻量级数据库,常用于嵌入式应用。"db-derby-10.11.1.1-src.zip" 是Apache Derby的10.11.1.1版本的源代码包,对于开发者来...

    javadb官方参考资料

    - **错误和异常**:列出常见的错误代码和解决方法,帮助开发者调试和解决问题。 学习这些官方参考资料,开发者可以全面理解JavaDB的工作原理,熟练掌握其使用技巧,从而在项目中有效地运用JavaDB。无论是初学者...

    db-derby-10.6.2.1

    Apache Derby,也被称为Java DB,是Apache软件基金会开发的一个开源的关系型数据库管理系统,完全用Java编写,遵循Apache 2.0许可证。这个“db-derby-10.6.2.1”版本代表着Derby数据库的一个特定发行版,发布于2009...

Global site tag (gtag.js) - Google Analytics