网友评论
分类

大小:20.7 MB
语言:简体中文系统:WinXP, Win2003, Vista, Win7, Win8
类别:编程相关时间:2019-03-22
Apache Derby是一款非常小巧的数据库管理软件,它是用Java编写的,需要在JVM中运行,它在开发中应用广泛,可内嵌在应用程序中使用,也可以作为单独的数据库服务器使用。

Apache Derby是一个完全用java编写的数据库,所以可以跨平台,但需要在JVM中运行。Apache Derby非常小巧,核心部分derby.jar只有2M,所以既可以做为单独的数据库服务器使用,也可以内嵌在应用程序中使用。
1、访问 Apache Derby 数据库时,在 SQLException 中发生意外的 IOException
此问题的发生可能是因为 Apache Derby 数据库使用大量文件。某些操作系统(如 Solaris Operating Environment),限制应用程序可以同时打开的文件 数。如果缺省值较小(如 64),那么您可能会获取此异常。
如果您可以在操作系统上配置了文件描述符的数量,那么可以通过将数值设置为很大的值(如 1024)来更正此问题。
2、当访问 Apache Derby 时,“为更新选择”操作导致表锁定和死锁
如果一行上的“为更新选择”操作锁定创建死锁条件的整个表,那么原因可能是您未对该表定义索引。您在 where 子句中使用的列上缺乏索引会导致 Apache Derby 创建表锁定而不是行级别锁定。
要解决此问题,对受影响的表创建索引。
3、运行应用程序导致产生不可读消息的运行时异常
在客户机运行时,您可能接收到与以下类似的消息:Caused by: com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -1, SQLSTATE: 42X05, SQLERRMC: ANNUITYHOLDER20^T42X05
发生此问题的原因是未设置 WebSphere® Application Server 所需的属性 retrieveMessagesfromServerOnGetMessage。
要解决此问题,请在管理控制台上执行以下操作
单击资源 > JDBC 提供程序。
单击 Apache Derby 提供程序
向下滚动并单击数据源。
选择数据源或添加新的数据源。
单击定制属性。
如果属性 retrieveMessagesFromServerOnGetMessage 存在,那么将它的值设置为 true。如果该属性不存在,请选择新建并添加值为 true 的属性 retrieveMessagesFromServerOnGetMessage。
重新运行客户机。
现在 SystemOut.log 将生成可读的消息,这样就可解决根本的问题。
展开

猜您喜欢
网友评论