PHP:远程连接MS Access 2013


PHP: Remote connection to MS Access 2013

我有一个客户谁需要我们插入联系人表单记录到他们的Access 2013数据库,这是本地托管在他们的办公室,它有一个静态IP地址。数据库文件在网络驱动器上由所有员工共享。

我知道这是可能的,我只是不知道最简单的方法去做。所以,我的问题是:建立这个数据库连接的最不痛苦的方法是什么?

我也希望不要将他们的网络驱动器设置为我们服务器上的网络驱动器,以保证他们的驱动器安全。我认为最好的方法是通过他们网络上的一台计算机连接,然后通过那里访问共享数据库。

您没有连接到powerpoint文件,您打开了它。

你没有连接到一个word文件,你打开它。

你没有连接到一个文本文件,你打开它。

奇迹中的奇迹,就像办公室的其他部分一样,这同样适用于位于某个文件夹中的accDB文件。你从来没有连接到一个windows文件,你需要权利和权限来打开那个文件。事实上,你需要WINDOWS网络系统来打开这样一个文件。

这里的目标是你需要对windows计算机上的windows文件有读写权限。

您无法连接到一台计算机以打开另一台计算机上的文件。(除非你采用像远程桌面这样的东西——但这是一个完全不同的问题)。

所以你不做一些数据库连接,你不能做一些数据库连接。

你必须有打开文件的能力,并且技术层必须与windows操作系统兼容。因此,例如,如果文件放在Linux机器上,那么您必须安装windows网络系统(Samba)并设置映射驱动器,或者至少设置VPN(虚拟专用网)。因此,该文件夹需要显示为映射驱动器,或者出现在您的网络邻居中,然后您浏览到该远程网络上的计算机,然后打开该计算机上的文件夹,只有这样才能打开文件。

我再重复一遍:

你没有连接到一个文件,你需要windows文件系统来打开文件。使用术语"连接"来代替打开word文件、Excel文件或本例中的accDB文件是没有意义的。

你当然可以使用基于套接字的技术,如TC/IP来连接到web服务器或数据库服务器。然而,在这种情况下,你只是需要打开一个平面简windows文件,目标计算机上的文件必须有windows网络系统,允许你用windows文件系统打开该文件。这里没有"连接"的概念。

当然,这里的另一个问题是这种连接很慢——大约比典型的办公室网络慢100倍。你真的需要阅读我下面的文章来了解这个限制和速度问题: http://www.kallal.ca//Wan/Wans.html

现在我们澄清了你没有连接到数据库,但所有用户必须能够打开文件。

假设它们与您所说的处于同一网络中,那么只需让用户浏览到数据库所在的文件夹,然后双击它即可。

如果你使用PHP,那么ANY和ALL连接字符串实际上会解析到一个标准的windows文件位置。假设网络上的所有用户都可以直接使用该文件,那么PHP字符串中打开该文件的路径名将是:

''IP-address'folderName'myDatabase.accDB

如前所述,用户需要对上述文件和文件夹拥有完全的权限。如果PHP是通过网站运行的,那么运行该网站的计算机将需要对网络上的文件夹拥有完全的权限,并且正如前面提到的,它们都必须是同一个windows网络的一部分。当然,如果他们使用一个网站,那么只有这个网站需要直接的windows网络和文件打开能力(但是你需要一个直接的文件位置和通过windows网络从那个web服务器打开的能力)。