java - ucanaccess 系统重载,该怎么办?

标签 java mysql ucanaccess

我的应用程序背后的想法是通过将整个 .mdb 文件下载到客户端、记录他们所做的更改并每天上传一次这些更改来禁止客户端对我的数据库(采用 .mdb 格式)的直接访问每个客户。 我遇到的问题是在使用 ucanaccess 时,它似乎每次调用 getDatabase2() 时都会加载整个数据库。在控制台中,这是我无限次获得的内容,直到应用程序加载为止。 (这将需要很多时间)。 有没有办法让 ucanaccess 只做桥接工作(只是事务)?或者也许我使用了错误的方法? .mdb 文件大小为 50Mo,最多包含 80-100k 条目。 我使用的是 Windows XP、Eclipse、Java 7。 getDataBase的代码如下

private static Connection getDatabase2() throws Exception{


    String url="jdbc:ucanaccess:////Jv1kbafap001/teams/Medic/database.mdb;memory=false";
    String user="admin";
    String pass="";
    return DriverManager.getConnection(url,user,pass);
}

最佳答案

在下一个ucanaccess版本(2.0.9.1)中,加载时间(第一次连接的时间)将显着减少,特别是针对内存= false的情况。 支持部分加载不在我的计划之内,因为我认为已经有一个解决方案:您只需使用另一个“过滤器”mdb,它仅指向您的事务所需的表,将它们链接为外部资源(在换句话说,它们必须用作链接表)。 请注意,您可以使用重映射连接参数来覆盖原始外部数据库路径。

关于java - ucanaccess 系统重载,该怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26096830/

相关文章:

mysql - Elasticsearch 河的开销?

java - net.ucanaccess.triggers.TriggerException : Table does not exists.:Z_2015_02_24

java - 如何将ISO8601格式转换成毫秒?

java - 如何将参数从适配器类传递到另一个类中的方法

java - 有人可以解释一下此Java代码有什么问题吗?

MySQL INSERT 与 SELECT UNION 给出语法错误

java向shell脚本返回特定值

php - mysqli::__construct(): (HY000/1045): 用户 'lfc_site' @'localhost' 的访问被拒绝(使用密码:YES)

java - 转换为 JAR 文件时未找到 UCanAccess 驱动程序

java - UCanAccess 引用 文件删除导致 FileReading 在我的应用程序上中断