多个 MS Access 前端连接到单个远程 SQL Server 后端

Posted

技术标签:

【中文标题】多个 MS Access 前端连接到单个远程 SQL Server 后端【英文标题】:Multiple MS Access Front end Connections to a Single remote SQL Server Back end 【发布时间】:2018-07-24 00:43:18 【问题描述】:

情况:

我已在同一台计算机上成功地将 MS Access 数据库拆分为前端 (MS Access) 和链接的名为 SQL Server 后端。事情运行得非常好。这是使用链接表管理器创建新数据源、驱动程序 SQL Server 完成的。服务器COMPUTERNAME\NAMEDSQLINSTANCE,Windows NT 授权,默认数据库作为后端数据库名称,测试连接成功。前端的变化反映在后端,后端的变化反映在前端。生活是美好的。

然而,

我需要有 5 台其他机器(不在同一个域中,不在网络上,不在同一个服务提供商上,只是可以访问 Internet 的独立机器)​​来链接到这个命名的 SQL Server Back,它还在另一台只能访问互联网的独立机器。

我已将 SQL 数据库配置为接受远程连接。我已将 SQL 机器上的 Windows 防火墙配置为使用端口 1433 作为 SQL 侦听端口。我已经在服务中启动了 SQL 浏览器。

我有 SQL 机器的 IPv4 地址,但它看起来并没有超出服务提供商的范围。我使用“我的 IP 地址是什么”来获取公共 IPv4 地址,但它看起来像是在服务提供商处停止。 (此 IP 地址的 tracert 显示 XX-XXX-XXX-XXX.dyn.serviceprovider.net

A.这个可以吗?

B.这可以通过每台前端机器上的 MS Access 链接表管理器来完成吗?

我需要一些具体说明,说明如何根据上述条件通过 Internet 将 MS Access 前端远程链接到指定的 SQL 数据库后端。

非常感谢您的反馈和帮助。

【问题讨论】:

不是编程问题 - 您可能需要配置路由器并配置动态 DNS 提供商 这实际上不是编程问题,而是网络问题。您需要在客户端和服务器之间设置 ***。 Windows 可以做到这一点,但是我不知道您需要什么许可或软件。 superuser.com 上的运气可能更好。但是,从编程方面来看,如果用户数量超过几个,我建议不要这样做,并将应用程序的其余部分移植到为此而构建的技术。 Access 不能很好地处理这个问题,当你不期望它们时,你最终会遇到锁定问题。 您首先需要的是静态 IP。获得静态 IP 后,您可以从 Windows 防火墙和路由器防火墙打开端口。然后您可以使用该静态 IP 访问 sql server 【参考方案1】:

是的,它可以做到。您需要在服务器一侧的路由器/调制解调器防火墙上“打开”一个端口。每个路由器都不同,但通常您登录路由器网页,找到标题端口转发或游戏部分,您需要定义端口 1433 应该转发到服务器的 IP 地址。

感谢大家为我指明正确的方向。找到了一个视频如何将 SQL 连接到互联网,它引导我完成了它。不漂亮,但我可以用不使用任何共享内部驱动器空间的客户端做最好的事情。

【讨论】:

以上是关于多个 MS Access 前端连接到单个远程 SQL Server 后端的主要内容,如果未能解决你的问题,请参考以下文章

无法连接到远程 MS Access 数据库

PHP:远程连接到 MS Access 2013

PHP 远程连接到 MS Access 2016 数据库

安全地将 MS Access 数据库前端连接到 Web 主机上的 MySQL 后端?

将 MS Access 连接到网络上的 SQL Server

使用 PHP 连接远程 MS Access DB