加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

在基于Windows的VPS中从Java访问Ubuntu服务器中托管的MS Access

发布时间:2020-12-14 05:40:45 所属栏目:Windows 来源:网络整理
导读:嗨,我有这个小问题我有一个遗留的VB6桌面应用程序连接到本地Ubuntu服务器机器中托管的MS Access数据库,该机器作为SMB共享共享到LAN,我有一个在 Windows中托管的Tomcat Web应用程序基于VPS,这些都是 要求 从MS Access数据库中读取信息并在webapp中显示(在URL
嗨,我有这个小问题我有一个遗留的VB6桌面应用程序连接到本地Ubuntu服务器机器中托管的MS Access数据库,该机器作为SMB共享共享到LAN,我有一个在 Windows中托管的Tomcat Web应用程序基于VPS,这些都是

要求

>从MS Access数据库中读取信息并在webapp中显示(在URL访问和几乎实时的准确性).
>使用通过网站收到的信息更新MS Access数据库.

事实

> 20Mb<数据库大小
>与15~25位用户共享.
>持续的本地更新和查询.

文件大小很小,因为它会在工具变大(> 100Mb)时被截断
现在我知道arquitecture不是最好的,并且MS Access已经达到极限,迁移到完整的Java和MySQL正在进行中,但这需要很长时间……与此同时我需要一个实现该功能的方法,这是我的选择.

选项1

通过VPN直接从webapp访问ubuntu服务器中的数据库.

缺点

>有可能吗?
>连接缓慢.
>可以更频繁地锁定数据库,因为它经常在本地发生.

选项2

在Ubuntu服务器中运行本地webapp,将db作为REST API公开,因此更新将由本地webapp处理.

缺点:

>在UNIX环境中很难使用MS Access,查看unixODBC和FreeTDS,但到目前为止我还没能使用它.
>好吧,编写整个应用程序并保护服务器.

选项3

有什么建议?

谢谢你,如果你读到这里,任何帮助真的很感激.

解决方法

除非我遗漏了您的描述中的某些内容,否则我认为您可能会混淆API和库之间的差异.基本上,ODBC是一种API,它实现为一个库,通常通过其他数据访问库(如ADO和ADO.NET)在基于Windows的机器上使用.我提到这个,因为你提到unixODBC作为解决方案.它不是一个完整的解决方案,因为它不仅仅是API而已.

简单来说,使用Microsoft Access创建的数据库文件是一个.MDB平面文件数据库(好吧,还有一点点,但就将其视为数据库而言,这一切都很重要).如果您知道.MDB文件的结构如何工作,您可以编写自己的库来读取/写入它.当然,这并非易事,在Windows平台上,Microsoft是使用操作系统中包含的库为您提供的.这也称为JET驱动程序和数据库. JET是.MDB文件实现的数据库格式,由Access和其他应用程序通过相应命名的JET驱动程序使用.

因此,要找到非Windows平台的等效选项,您需要某种知道如何直接读取/写入.MDB文件的库.如果您尝试从Access应用程序同时使用.MDB文件,则需要确保您选择的库支持同时以多用户方式访问数据库.

在快速搜索中,似乎有一些我能找到的解决方案.第一个似乎可能有一些功能限制.第二种似乎是商业产品.

MDB Tools

Easysoft JET/Access Driver

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读