【问题标题】:HSQLDB SQLException: Out of memory establishing database connectionHSQLDB SQLException:建立数据库连接的内存不足
【发布时间】:2012-05-13 22:24:06
【问题描述】:

我们有一个带有本地 HSQLDB 数据库的桌面应用程序。一些客户报告他们的应用程序停止工作。当我尝试使用 DbVisualizer 打开它时,我可以在调试控制台上看到:

12:45:32 [DEBUG pool-2-thread-1 D.?] RootConnection:     jdbcDriver.connect("jdbc:hsqldb:C:\test\database.db", {user=**, password=})
java.sql.SQLException: error in script file line: 56 out of memory
    at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
    at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source)
    at org.hsqldb.jdbcDriver.getConnection(Unknown Source)
    at org.hsqldb.jdbcDriver.connect(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.onseven.dbvis.d.B.D.?(Z:1548)
    at com.onseven.dbvis.d.B.F$A.call(Z:278)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

有人知道打开这个并分析问题所在吗?

【问题讨论】:

    标签: java hsqldb


    【解决方案1】:

    通常,当数据库损坏时会发生此异常。尝试备份数据库。有关此主题的其他讨论,请参阅 here

    【讨论】:

    • 您好 Ingo,感谢您的回答。我正在尝试发现是否有一种方法可以分析损坏的数据库,也不能防止这种情况发生。
    • 我不认为有这样的工具。
    • 不,没有。如果您有数据库“.script”文件,如果损坏很小且位于位置,则可以手动修复它...复制,编辑并尝试加载。一段时间后你可能会放弃。祝你好运。
    【解决方案2】:

    使用不兼容的驱动程序版本打开 HSQLDB 数据库时可能会出现此错误。例如,我在使用版本2.2.8 打开使用版本1.8.1.3 保存的HSQLDB 数据库时收到它。我使用SQuirrel 来查看这些数据库,并且必须设置几个不同的驱动程序来支持每个版本。我想DB Visualizer 也有类似的能力。

    【讨论】:

      【解决方案3】:

      确保如果数据库非常大,则为堆分配更多内存。见Java heap space out of memory

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-08
        • 1970-01-01
        • 2016-11-06
        • 1970-01-01
        相关资源
        最近更新 更多