要求
>从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
有什么建议?
谢谢你,如果你读到这里,任何帮助真的很感激.
解决方法
简单来说,使用Microsoft Access创建的数据库文件是一个.MDB平面文件数据库(好吧,还有一点点,但就将其视为数据库而言,这一切都很重要).如果您知道.MDB文件的结构如何工作,您可以编写自己的库来读取/写入它.当然,这并非易事,在Windows平台上,Microsoft是使用操作系统中包含的库为您提供的.这也称为JET驱动程序和数据库. JET是.MDB文件实现的数据库格式,由Access和其他应用程序通过相应命名的JET驱动程序使用.
因此,要找到非Windows平台的等效选项,您需要某种知道如何直接读取/写入.MDB文件的库.如果您尝试从Access应用程序同时使用.MDB文件,则需要确保您选择的库支持同时以多用户方式访问数据库.