我目前正在使用 Visual Basic for Application (VBA) 开发多个宏/代码,并使用 Excel 创建工资单、库存、成本核算等系统。但我的问题是,组织数据变得非常繁琐,因为“数据库”仅存储在该 Excel 工作簿中,访问这些数据很困难。此外,如果找不到 MySql 等数据库来存储信息,任何“实时”保存和检索数据的努力都变得不可能。因此,我计划使用 MySql for Excel 连接器将各种工作簿中的数据附加到 MySql 数据库的表中。
我的问题是,我不知道如何将办公室里的所有计算机连接到物理上彼此相距很远的数据库服务器。
我该怎么做?我希望办公室和其他分支机构的任何人使用计算机都可以访问数据库,这样我就可以使用我的应用程序提取数据。这样数据就可以实时更新。
我知道的联网方式只有简单的方式,例如使用以太网电缆连接到另一台计算机。同样,也可以使用以太网电缆连接到网络交换机,以允许计算机相互发送和检索信息。这些都不实用,因为如果我这样做的话,甚至考虑这样做都需要很长的以太网电缆。
我能想到的最实用的方法是找到一种方法让两台计算机通过互联网找到对方。这样我就可以访问 MySql 服务器并向其发出请求。我的问题是,我不知道安全地这样做需要什么要求和技术。
答案1
两台计算机已经可以通过互联网找到对方;这就是互联网的真正含义做。虽然我提到这一点只是为了说明一点,但实际上这非常重要不建议将工资数据库服务器(或任何数据库服务器)直接暴露给互联网连接。
就你的情况而言,如果你有额外的安全要求,并且/或者“服务器”计算机位于 NAT 网关后面,那么你就可以使用某种VPN(隧道)技术连接两个网络。有两种常见的选项/格式:
站点到站点 VPN,其中您的本地组织网络有一个路由器,通过单个 VPN 隧道传输所有计算机的流量。这需要一个支持正确 VPN 类型的路由器,但它不必是主要的路由器(但是,主路由器至少必须支持“静态路由”功能)。
客户端 VPN(如果这是正确的术语),其中 VPN 软件安装在各个计算机上(每台计算机都创建自己的连接)并且路由器并不关心正在发生的事情。
在这两种情况下,VPN“服务器”可能是路由器,也可能是安装在专用 VPN 服务器上的软件,甚至可能安装在数据库服务器本身上(如果您只有一台服务器)。有时,云托管提供商有自己的站点到站点 VPN 解决方案。