我有一个C#.NET Framework 4.0桌面应用程序,实体框架为DAL。 当尝试将数据保存到任何机器上的DBContext但我的时候,我收到了异常
Failed to update database "*.mdf" read only
我将数据库保存在.exe文件附近,文件夹“DAL / AppData”。
如何在其他计算机上允许写入权限? 我可以通过编程方式进行吗?
我读过我可以把DB放到AppRoaming文件夹中,但这不是我的变种。
提前致谢。
答案 0 :(得分:3)
我将数据库保存在.exe文件附近,文件夹“DAL / AppData”。
是。可能你的意思是这是在程序文件夹中,你知道。
过去10年的Windows规格对于普通用户来说是“只读”吗?
OUCH。
它们是用于存储数据的文件夹。有一个SpecialFolders枚举来获取每个这样的文件夹的有效路径。
如何在其他计算机上允许写入权限?我可以通过编程方式进行吗?
在SQL Server上,这是通过允许另一台计算机访问服务器而不是数据文件来完成的。即您连接到正在加载数据库的另一台计算机上的SQL Server。
我读过我可以把DB放到AppRoaming文件夹中,但这不是我的变种。
首先,除非你真的计划漫游,否则这将是愚蠢的 - SQL shold进入本地文件夹,永远不会漫游。
其次,“不是我的变种”就像“嘿,我开车违反规则,我有什么不能获得超速罚单”。并且“遵守法律不是我的变体”。你的变体是WIndows不关心的东西。了解如何根据Windows指南安装软件,在非常明确的情况下,不应更改数据。