10

ローカルの 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)

これを開いて問題を分析するために何かを知っている人はいますか?

4

3 に答える 3

7

通常、この例外はデータベースが破損している場合に発生します。データベースのバックアップを試してください。このトピックに関する別の議論については、ここを参照してください。

于 2012-05-07T10:55:37.530 に答える
0

互換性のないドライバー バージョンを使用して HSQLDB データベースを開くと、このエラーが発生する可能性があります。たとえば、 version2.2.8で保存された HSQLDB データベースを開くために version を使用すると、それを受け取ります1.8.1.3。私はSQuirrelを使用してこれらのデータベースを表示しており、各バージョンをサポートするためにいくつかの異なるドライバーをセットアップする必要があります。DB Visualizerにも同様の機能があると思います。

于 2012-10-29T19:34:42.447 に答える
0

データベースが非常に大きい場合は、ヒープにより多くのメモリを割り当てるようにしてください。メモリ不足のJavaヒープスペースを参照してください

于 2017-05-24T06:36:05.660 に答える