我有一个本地的MS Access数据库,我正在尝试通过Java连接它。我使用UCanAccess作为JDBC驱动程序,虽然数据库已经链接到一个受密码保护的网络驱动器上的数据库,但我要连接的数据库已经过验证,并且没有自己的密码保护。我在类路径中拥有所有依赖项。连接时,我一直收到以下错误:
代码非常简单:
任何想法为什么尝试建立连接会导致如此大的内存消耗?
我启动了Java VisualVM,确实,主线程正在使用分配的2GB内存。这只发生在我尝试从大型MySQL数据库中选择大量记录时。我在Google上找不到任何与此连接相关的结果,因为我甚至没有尝试查询数据库。java.lang.OutOfMemoryError: Java heap
代码非常简单:
Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
System.out.println("Initiating connection...");
conn = DriverManager.getConnection("jdbc:ucanaccess://C:/Databases/StoreSalesCurrent.accdb");
System.out.println("Connection established");
conn.close();
任何想法为什么尝试建立连接会导致如此大的内存消耗?
;memory=false
添加到您的连接 URL 中,看看是否有帮助。 - Gord Thompson