应用程序访问共享文件夹上的 mdb 文件,而客户端上没有 ms 访问权限

Posted

技术标签:

【中文标题】应用程序访问共享文件夹上的 mdb 文件,而客户端上没有 ms 访问权限【英文标题】:App accessing mdb file on shared folder without ms access on client 【发布时间】:2012-12-08 02:53:33 【问题描述】:

我已经在网上搜索了数周,但找不到任何答案或与我的问题相关的任何内容

问题是,我有一个使用 c# 制作的应用程序,用于从 mdb 文件加载数据。该应用程序运行良好,因为现在,应用程序和 mdb 文件(对于数据库,使用 oledb)位于同一台计算机上,而不是任何共享文件夹上。但是一旦准备好在办公室部署它,应用程序和 mdb 文件需要位于共享文件夹中,供多个用户使用,但客户端/用户 PC 没有安装 MS 访问权限。

问题是我们无法在客户端 PC 上安装 ms access 或任何可再分发文件(我在访问过的大多数论坛/网站上看到的文件)。

客户端 PC 具有 .net 4.0

我的问题是:

    它会起作用吗? (即使客户端 PC 上没有安装任何 ms 访问或可再分发文件,客户端 PC 也可以访问/执行共享文件夹上的 app 和 mdb 文件?) 那样不行,我有哪些选项可以让客户端 PC 打开和运行保存在共享文件夹中的应用程序和 mdb 文件? 如果无法解决,我如何使用可再发行文件编译我的应用程序,比如说一个 .dll 文件,该文件将帮助客户端 PC 在没有安装 ms 访问权限的情况下打开应用程序?例如(app、mdb 和 .dll 在同一个共享文件夹中)

我真的希望并提前感谢您的回答。

【问题讨论】:

【参考方案1】:

如果您使用 OLEDB.NET,您可以在没有安装 MS Access 的客户端的情况下在您的程序中使用 access DB,没有任何问题。在回答 here 时遇到了与您类似的问题。答案是正确的,使用 JET 可以在客户端没有安装办公室的情况下工作。 希望对您有所帮助!

有一些链接可以帮助您开始使用 JET 请注意,如果您使用通用名称 OLEDB,Google 会获得更好的结果:

http://msdn.microsoft.com/en-us/library/aa288452%28v=vs.71%29.aspx How to connect to a MS Access file (mdb) using C#? http://www.dscripts.net/2009/01/20/connect-to-microsoft-access-mdb-database-using-csharp/ http://msdn.microsoft.com/en-us/library/5ybdbtte%28v=vs.71%29.aspx OLEDB connection to Access Database (accdb)

编辑: 对我链接的答案的评论询问 JET 是否适用于 MS2010。根据我的经验,答案是肯定的。

【讨论】:

谢谢先生,但我的应用程序正在使用 Ace.oledb.12(抱歉我忘了提)这仍然有效吗? @vade 哦,你没有在你的问题中提到这一点!不,Ace 要求客户端安装它。你能转换成使用 OLEDB 吗? 您的意思是,使用 Jet.Oledb?我对这些东西有点陌生,所以我对这些术语还不太了解。还有哦,对不起,我还不能和你一起聊天 C#,我的名声还很低,实际上现在才 6 岁 @vade 哦,我真傻!当然还不能聊天!是的,我的意思是使用 Jet.Oledb。检查我的编辑以获取一些关于它的教程的链接。我也不是这方面的专家,但我目前正在开发一个需要数据库的应用程序,所以我做了很多研究。 @vade。没问题,如果事实证明我帮助了你,你可以升级我! :)

以上是关于应用程序访问共享文件夹上的 mdb 文件,而客户端上没有 ms 访问权限的主要内容,如果未能解决你的问题,请参考以下文章

在VB6中通过DAO优化高延迟网络上的开放访问数据库

直接访问旧的 MDB 文件

可以使用 HTML5/JS 远程访问移动设备上的文件吗?

访问错误 3443:无法识别的数据库格式“databasename.mdb”

在 Windows 服务中打开 mdb 文件

如何打开已被其他用户打开的 mdb 文件?