我实际上已经通过了stackoverflow回答了之前提出的相同问题。我知道这个问题是由Program Files
文件夹中的限制权限引起的。
我在https://stackoverflow.com/a/5714111/1182021处理了这个答案,同样的解决方案正在整个网络上
If the MDB file is in your application path, then the default permissions would require elevation of rights to be able to write to the files -- I'd recommend moving the data to the ApplicationData shared folder, where end users will have write permissions by default
我的查询只是继续上述解决方案:
我已全局将我的数据库路径更改为Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData))
,并从那里我希望访问我的数据库,因为它将是一个公共访问文件夹(我浏览并得出了这个结论)
Setup and Deployment project
时,它会自动将我的数据库文件放入C:\Program Files\MyApplication\
,因此我的应用程序无法访问ApplicationData
文件夹中的数据库。我肯定在https://stackoverflow.com/a/14611895/1182021读过TomTom
个答案,但是如果有任何可行的技巧,哪个是可行的,也是明智的。
答案 0 :(得分:1)
好吧我不知道为什么我还没有得到任何答案。真的试图解决这个问题,最后找到了解决方案。
在项目中创建的数据库全局配置文件中,以管理所有与数据库相关的工作,如添加,删除,更新和连接。对于本地数据库,定义一个像这样的LocalDbPath:
public string LocalDBPath = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
然后在数据库连接中的任何地方使用相同的LocalDBPath
。
通过安装和部署部署项目时,请转到:
File System Editor
File System on Target Machine
Add Special Folder
User's Application Data Folder
User's Application Data Folder
- >添加您的数据库文件右键点击Add
- > File
并选择文件。构建您的解决方案,您很高兴。干杯!