如何通过互联网将Delphi连接到远程MS Access数据库?

问题描述:

可能重复:
How to connect to an Access 2003 database located on a web server via HTTP?如何通过互联网将Delphi连接到远程MS Access数据库?

我有一个使用MS Access数据库工作德尔福计划,以获取报告等 现在我想将数据库迁移到网络服务器上运行我的网站。该网站也必须能够连接到数据库,以更新数据(用户插入联系人详细信息为例)。

我现在如何将Delphi程序连接到现在在网络服务器上的数据库,而不会丢失任何功能?这可能吗?

谢谢你的帮助。

+0

在移至Web服务器之前,您如何连接到数据库? – 2012-08-09 16:52:56

+0

我使用了一个ADO连接 – ricky 2012-08-09 18:19:02

其中一宗是提供ADOConnection.Connectionstring DB计算机IP地址:

Data Source=X.X.X.X,Port 

如果你迁移Access数据库到网上,然后你谈论使用的新的网络发布功能访问?例如,在中途点的下列视频中,我切换到在浏览器中运行Access数据库100%。

http://www.youtube.com/watch?v=AU4mH0jPntI

注意,没有Silverlight或ActiveX下载的需要,而这些出版Access应用程序在任何Web标准兼容的浏览器的工作 - 包括我的iPad的Safari。

但是,现在,如果您使用Delphi来打开该mdb文件,请记住您没有连接到该文件,而只是打开一个文件。

我的意思是说我们连接到一个word文件或者我们连接到一个Powerpoint文件是愚蠢的。所以在办公套件和那些文件的情况下,我们正在谈论飞机Jane windows文件。

一匹马是一匹马是一匹马。

一个文件是一个文件是一个文件。

因此,您不要连接到坐在硬盘上的jpg文件,您打开文件。所以如果你谈论你当前的设置,最好在这里使用正确的术语。您没有连接到该访问文件,但实际上是打开一个平面Jane窗口文件。 (如果你仔细看看你的连接字符串,它将始终有一个完全限定的Windows路径名称,它解析为坐在一个文件夹上的文件)。

如果您将这样的文件放置在Web服务器上(而不是使用Access的Web发布功能),那么您仍然需要打开该Windows文件。这意味着您需要某种VPN,并且您还需要安装Windows文件和网络系统(这意味着如果这是Linux,则必须运行samba)。

所以你不能通过Web界面打开文件,甚至当你使用FTP或http时,这些并不是真正的“windows”网络系统,它允许你打开+使用平面Jane窗口文件。

尽管理论上可以通过VPN将windows网络扩展到服务器,但它不是一种常见的设置,而且通过互联网使用VPN速度很慢。

因此,请记住这样一个概念,即您并未真正连接到某个文件,如电源点或位于文件夹中的某个mdb文件 - 您需要打开该文件,并且需要使用Windows网络系统在Access的情况下执行此打开的文件。实际*问实际上对这种开放能力的要求更高,因为使用Excel或Word,文件可以从服务器全部下载 - 使用Access时,文件不会全部下载,但需要一个真正的工作窗口文件打开命令使用。

因此,这里的一个选择是考虑使用Access的Web发布功能,但是服务器上生成的已发布应用程序将不再存储在accDB或mdb文件中 - 而从Delphi中,您可以使用一组的Web服务是公开的Access站点公开的,它允许您更新数据 - 没有oleDB提供程序,但有Web服务,还可以使用桌面Access客户端的链接表来连接和编辑已发布的Access Web应用程序。

+0

哈哈,对于错误的术语感到抱歉,但您似乎确切地知道我在说什么。 谢谢你的洞察力,它给了我一些思考和努力。非常感谢,我很感激。 – ricky 2012-08-11 11:49:38