我有一个使用 MS Access 数据库来获取报告等的工作 Delphi 程序。现在我想将数据库迁移到运行我的网站的网络服务器。该网站还必须能够连接到数据库,以更新数据(以用户插入联系方式为例)。
我现在如何将我的 Delphi 程序连接到现在位于网络服务器上的数据库,而不会丢失任何功能?这可能吗?
感谢您的任何帮助。
我有一个使用 MS Access 数据库来获取报告等的工作 Delphi 程序。现在我想将数据库迁移到运行我的网站的网络服务器。该网站还必须能够连接到数据库,以更新数据(以用户插入联系方式为例)。
我现在如何将我的 Delphi 程序连接到现在位于网络服务器上的数据库,而不会丢失任何功能?这可能吗?
感谢您的任何帮助。
其中一种情况是在 ADOConnection.Connectionstring 中提供 DB 计算机 IP 地址:
Data Source=X.X.X.X,Port
如果您将 Access 数据库迁移到 Web,那么您是在谈论使用 Access 的新 Web 发布功能吗?例如,在下面的视频中途,我切换到在浏览器中 100% 运行 Access 数据库。
http://www.youtube.com/watch?v=AU4mH0jPntI
请注意,不需要 Silverlight 或 ActiveX 下载,这些已发布的 Access 应用程序可在任何符合 Web 标准的浏览器中运行,包括我 iPad 上的 safari。
但是,现在,如果您使用 Delphi 打开该 mdb 文件,请记住您不是连接到该文件,而只是打开一个文件。
我的意思是说我们连接到一个 word 文件,或者我们连接到一个 Power point 文件是愚蠢的。所以在办公套件和那些文件的情况下,我们谈论的是平面简窗口文件。
马是马是马。
文件是文件是文件。
因此,您无需连接到硬盘上的 jpg 文件,而是打开文件。因此,如果您谈论您当前的设置,最好在此处使用正确的术语。您没有连接到该访问文件,但实际上是在打开一个平面 Jane windows 文件。(如果你仔细查看你的连接字符串,它总是有一个完全限定的 Windows 路径名,它解析为位于文件夹中的文件)。
如果您将这样的文件放在 Web 服务器上(而不是使用 Access 的 Web 发布功能),那么您仍然需要打开该 windows 文件。这意味着您需要某种 VPN,并且您还需要适当的 windows 文件和网络系统(因此这意味着如果这是 Linux,您必须运行 samba)。
因此,您无法通过 Web 界面打开文件,即使您使用 FTP 或 http,这些也不是真正的“Windows”网络系统,允许您打开 + 使用平面 Jane Windows 文件。
因此,理论上您可以使用 VPN 将 Windows 网络扩展到服务器,但这不是一种常见的设置,并且在 Internet 上使用 VPN 速度很慢。
因此,请记住您并没有真正连接到某个文件(例如 power point 或某个文件夹中的某个 mdb 文件)的概念——您需要能够打开文件,并且您需要使用 windows 网络系统在 Access 的情况下做这个打开文件。Access实际上对这种打开能力的要求更高,因为使用Excel或Word,可以从服务器上完整下载文件——使用Access,文件不会完整下载,但需要一个真正的工作Windows文件打开命令之前采用。
因此,这里的一个选择是考虑使用 Access 的 Web 发布功能,但在服务器上生成的发布应用程序将不再存储在 accDB 或 mdb 文件中 - 但是从 Delphi 中,您可以使用一组 Web 服务为允许您更新数据的已发布 Access 站点公开 - 没有 oleDB 提供程序,但有 Web 服务,您还可以使用桌面 Access 客户端中的链接表来连接和编辑已发布的 Access Web应用。