在离线状态下通过MS Access前端访问SQL Server数据库有哪些选择

时间:2019-02-07 16:08:28

标签: sql-server ms-access

我目前正在研究一个项目提案,该提案需要将多个Access数据库移到新的MS SQL Server数据库中。这个想法是将前端程序保留为MS Access,以便用户熟悉输入数据和创建报告的过程。

但是,事情变得复杂,因为将要收集调查的地区的互联网连接性很差,并且会不时地断开。我曾想过解决此问题的几种方法,但是它们都很麻烦:

1)有一台带有路由器的PC,该路由器以离线模式存储SQL Server数据库,而数据输入PC通过路由器连接到带有离线数据库的PC。具有SQL Server数据库的PC可以通过Internet连接在服务器上备份数据库。

2)将数据添加到MS Access数据库中,然后可以按指定的增量将其与SQL Server合并(这可能会引起一些问题)。

对于类似项目,我们之前已经完成了选项1,但从未完成过以脱机模式连接到SQL Server数据库的选择。但是,这似乎可行。

我的问题是:是否有人知道将Access用作SQL Server的前端应用程序并且能够在没有Internet连接的情况下更新数据的方法吗? SQL Server数据库会自动分配主键,因此,在同步数据时重复唯一值不会成为问题。

感谢您的帮助。我一直很难在Google上找到答案,并且在最佳情况下同步到数据库很复杂。我真的只是在寻找一个起点,以查看是否有更简单的方法来完成此任务。

1 个答案:

答案 0 :(得分:2)

我将在所有笔记本电脑上运行SQL Express的免费版本。因此,Access数据库将成为SQL Express本地版本的前端。 SQL Express可以是“主” sql数据库的订户。因此,您可以使用SQL复制将SQL Server的那些本地版本同步到主服务器。当然,主SQL Server不能是SQL Server的免费版本。因此,要发布数据库以进行复制,您不能使用免费版本,但是这些免费版本当然可以用作订户。

这种方法将消除为Access应用程序构建或编写特殊软件的需要。因此,您需要将访问后端(数据表)迁移到sql服务器,然后只需运行本地访问应用程序,并在每台笔记本电脑上安装sql express。然后,当此类笔记本电脑回到办公室时,您将触发与sql server主版本的同步。

另一种可能是采用和使用网络同步框架。这也将允许同步,并且将不需要在每台计算机上运行sql expess。我认为,最省力的方法是将sql Express的本地版本与在办公室运行的SQL Server的主要版本进行同步(但是SQL Server的Office版本不能是免费版本)。