美文网首页
关于ucanaccess对多进程操作数据库不支持的问题总结和解决

关于ucanaccess对多进程操作数据库不支持的问题总结和解决

作者: 锅阿牛 | 来源:发表于2021-06-07 10:29 被阅读0次

    背景

    公司有个项目需要去扫描第三方的数据库,实时获取生产数据,且还需要往第三方数据库里面写入相关数据,以便第三方软件可以实时读到。

    环境

    • 第三方用的数据库: Access
    • 我们用的Access 驱动: UCanaccess

    问题

    现在的问题是当往access里面写入数据后,第三方软件界面上无法看到,刷新也不行,然后只有重启才可以。

    原因

    找了很久,也尝试了各种UCanaccess的参数都无法解决该问题,最后再官网找了相关的解析:


    clipboard.png

    大概意思就是: 如果UCanaccess应用更新了access库,如果其他同一个access库用户想要看到新的内容,那么必须关闭access,重新打开才行。

    解决方案

    那么UCanaccess不行,UCanaccess本身就是Microsoft针对access数据库用jdbc的一种实现,那只有采用其他方案,我用.net的OleDb尝试了一下,可以解决该问题,既然OleDb可行,那么ODBC也可以,然后jdb1.8已经去掉odbc的支持,所有只有将1.7里面的odbc驱动移植到1.8里面来解决该问题,最终解决了该问题.

    相关连接

    jdk1.8 如何使用odbc连接数据库 https://blog.csdn.net/chunshih327007/article/details/100977268

    在win7上配置ODBC连接Access数据库 https://jingyan.baidu.com/article/67508eb46f76569cca1ce4ff.html

    如果没有安装access或者驱动,可以从这里下载: https://download.csdn.net/download/wswxfwps/19425588

    通过ODBC操作access的工具类: https://gitee.com/wuxiangfeng/tools/blob/master/db-util/access/ODBCUtil.java

    相关文章

      网友评论

          本文标题:关于ucanaccess对多进程操作数据库不支持的问题总结和解决

          本文链接:https://www.haomeiwen.com/subject/fzfleltx.html