繁体   English   中英

大型SQLLite XML数据库失败

[英]Large SQLLite XML database failing

我的java应用程序从Xml文件中获取用户列表,并且每个用户都需要进行一些I / O操作。 这些操作是:

  1. 使用JDBC驱动程序访问5 MB数据库
  2. 将某个文件移动到基​​本文件夹以进行处理
  3. 删除临时文件

当xml只包含50个用户时,它完全有效,但如果xml文件中的用户数量增加,则应用程序将失败。

使用此代码访问数据库时

Class.forName("org.sqlite.JDBC");
Connection conn = DriverManager.getConnection("jdbc:sqlite:DbName.db");

我有

 java.lang.NullPointerException
    at org.sqlite.NestedDB$CausedSQLException.fillInStackTrace(NestedDB.java:442)
    at java.lang.Throwable.<init>(Throwable.java:250)
    at java.lang.Exception.<init>(Unknown Source)
    at java.sql.SQLException.<init>(Unknown Source)
    at org.sqlite.NestedDB$CausedSQLException.<init>(NestedDB.java:435)
    at org.sqlite.NestedDB._open(NestedDB.java:63)
    at org.sqlite.DB.open(DB.java:77)
    at org.sqlite.Conn.<init>(Conn.java:88)
    at org.sqlite.JDBC.connect(JDBC.java:64)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)

现在我有300个用户,我通过打破5个部分的xml文件解决了这个问题,但我想了解为什么会发生这种情况。 有人能帮我吗?

该解决方案听起来非常可扩展。 我印象深刻它可以处理超过几个用户。

我不会使用XML作为数据库,我只会使用一个副本,这样有更多用户不会对资源使用产生任何影响。

可能是因为内存不足问题。 尝试使用-Xmx512m选项的java

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM