1

1)我正在开发一个桌面应用程序,它连接到一个访问数据库来存储一些信息。此访问数据库位于服务器上。我可以使用 FTP 序列访问该服务器。服务器还具有建立连接以访问数据库的能力。现在,我的应用程序将数据库文件下载到计算机上的一个文件夹中,对其进行编辑并将其放回服务器上。我真的很想知道是否可以连接到访问数据库,无需下载即可对其进行全部更改,以便节省时间。

2)如果不可能做到我在问题 1 中要求的事情。比如说,我与我的大学分享我的申请,我希望他们能够对数据库编辑做同样的事情。在我从我的项目中制作一个 .exe 文件并将其发送给他们之后。他们是否需要在我想要运行它的每台计算机上安装 ACE.oledb.12?

4

3 回答 3

1

如果您使用的只是 Jet/ACE,Access 通常使用的数据库,那么其他用户至少必须拥有免费的驱动程序,或者如果您在 Access 本身中工作,您将需要运行时,也是免费的.

于 2012-08-29T09:24:16.537 回答
1

由于 Access 是基于文件的系统而不是专用数据库服务器,因此“远程连接”并不完全存在,因为所有数据处理都必须在本地完成。但是,只要您能够将 VPN 设置到存储访问文件的服务器,或者甚至更好地将路径映射为网络驱动器,那么您应该能够访问它而无需先下载文件。如果您只有 FTP 访问权限,那么这是不可能的。

于 2012-08-29T08:09:10.863 回答
0

实际上,您使用的术语是错误的。您没有连接到 word 文件。您没有连接到电源点文件。

因此,您必须记住,您并没有真正连接到恰好位于硬盘驱动器上的某些文本文件或 mdb 文件。

因此,您只是打开一个文件。

我的意思是说我们连接到一个 word 文件,或者我们连接到一个 Power point 文件是愚蠢的。那么对于办公套件和那些驻留在磁盘驱动器上的基本简单文件来说呢?

我们正在谈论平面简窗口文件。

马是马是马。

文件是文件是文件。

因此,您无需连接到硬盘上的 jpg 文件,而是打开 jpg 文件。因此,如果您谈论您当前的设置,最好在此处使用正确的术语。您没有连接到该 Access accDB 文件,但实际上正在打开一个 PLANE JANE windows 文件。如果您仔细查看您的连接字符串,它将始终在其中包含一个完全限定的 Windows 路径名,该路径名解析为位于文件夹中的文件。

因此,如果您将该文件放在某个服务器上,例如 Web 服务器,那么您仍然需要打开该 Windows 文件。这与想要打开一个 power point 文件没有任何不同。这意味着如果您要通过 Internet 连接,那么您需要扩展 Windows 文件系统(这意味着您需要某种 VPN)。归根结底,如果您无法使用 Windows 网络浏览并打开该文件所在的文件夹,那么您将无法使用 Access(或更具体地讲,在您的情况下是 JET 数据引擎)打开该文件。

因此,例如,如果文件所在的服务器是非 windows 机器,例如 Linux,那么您需要在该机器上“添加或使用”或“安装”windows 文件和网络系统。Linux 中的一个常见选择是在该计算机上安装和运行 Samba。

请记住,在使用 SQL Server 的情况下,您将连接到在该服务器上运行的 SERVICE。在这种情况下,您不会在远程机器上打开文件,而只是使用套接字(TCP/IP)连接到某些服务。因此,在这种情况下,您不只是打开一个恰好是该系统上的 accdb 文件的愚蠢的旧 Windows 文件。

因此,当您使用 FTP 或 http 时,这些不是真正的“windows”网络系统,允许您打开 + 使用平面 Jane windows 文件。

FTP 将要求将整个文件下载到本地。

问题!如果网站或 Web 服务器打开了 accDB 文件,那么在上传和覆盖文件之前,如何让 Web 服务器关闭文件?换句话说,如果该文件是由网络服务器打开的,那么在服务器和网站关闭文件之前,您不应该制作副本甚至通过 FTP 下载副本!这意味着您在执行此操作时需要停止 Web 服务器的权限!

因此,请记住这里的概念,即您没有连接到某个文件,而只是要打开文件。您需要能够打开该文件,并且您需要使用 Windows 网络系统在 Access 的情况下执行此打开文件。我的意思是,您不必在目标计算机上安装 Access(JET)。您不必在目标计算机上安装 Power Point 即可打开 Power Point 文件。

您不必在该系统上安装 word 即可打开 word 文件。

您不必在该系统上安装 Excel 即可打开 Excel 文件。

所以你只是打开一个恰好在其他计算机上的文件。

因此,必须在您的计算机上安装 Access 数据库引擎和软件(此处不能使用 .exe)。您当然可以将您的应用程序打包为可安装的 Windows 应用程序,然后可以安装在每台计算机上。因此,可以使用 Access 运行时的免费版本,但您仍然必须在使用 Access 的计算机上安装该免费版本的 Access,即使它是免费运行时版本。然而,这些天来,我真的不知道有任何流行的开发系统只生成 .exe 文件而不需要某种运行时,无论是 .net、VB6、Java,或者在这种情况下是 Access——所以某种支持和运行时在当今使用的大多数系统中,文件是非常普遍的要求。

所以,请记住,您正在打开一个平面 Jane windows 文件。

因此,您的 http 或 FTP 路径名不是允许的 Windows 路径名,也不是 Windows 文件/网络系统。因此,路径名与 Windows 网络和打开位于硬盘上的简单文件无关。所以 HTTP 或 FTP 等不是基于 windows 网络和文件系统的。

我不认为这个基本概念太难掌握,但归根结底,你需要掌握和学习的概念是,当你打开硬盘上文件夹中的 Windows 文件时,你会需要windows文件系统来打开这些文件。在文件夹中打开文件的想法和概念对您来说可能是新的,但这是解决此问题所需的基本要求和理解。

如前所述,您可以考虑使用 VPN,但我在本文中解释了为什么这样的设置不起作用:

使用带有 ms-access 的 wan?多快,多远?

http://www.kallal.ca/Wan/Wans.html

(请阅读上面的内容——因为它解释了你可以通过互联网打开这些文件,但也解释了这种连接太慢了!——记住高速互联网对于这种用途来说太慢了!)。

我想另一种可能性是考虑 Access 具有的新网络发布能力。在以下视频中,请注意我如何切换到在浏览器中 100% 运行 Access 应用程序。生成的应用程序不需要任何 ActiveX 或 Silverlight。所以网页在我的智能手机甚至我的 iPad 上运行 + 工作正常。

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

因此,您可以使用新的网络发布功能,这将允许使用 http: 来使用应用程序

于 2012-08-29T20:37:22.193 回答