我正在研究JAVA中的应用程序,它从数据库中获取数据,进行一些计算并将数据写入xml文件。小型数据库(小于1 GB)的一切都很好。但是,当我使用大于1 GB的数据库运行程序时,我的应用程序无法在数据库中创建索引 - 它会抛出SQLException - 数据库映像格式错误。在按特定列值从数据库检索数据时也是如此。
导致异常的代码:
Statement st = con.createStatement();
st.setQueryTimeout(60);
st.executeUpdate("CREATE INDEX if not exists IX_name ON myTable (name)");
我使用驱动程序org.sqlite.JDBC - sqlite-jdbc版本3.8.11。所有命令都适用于较小的数据库,我可以控制内存 - 异常不是由没有内存引起的。我在Windows 10上工作,而我的电脑有8,00 GB RAM。导致异常的数据库大约1.5 GB。数据库没有损坏(我尝试了更多大数据库,所有都导致相同的异常)。
任何人都可以帮助我吗?是否有更好的驱动程序访问大型数据库?
感谢您的回答。