应用程序访问共享文件夹上的 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 访问权限的主要内容,如果未能解决你的问题,请参考以下文章