无法更新数据库.MDF是只读的

我有一个应用程序中的本地数据库。 当我在另一台机器上安装它时,我收到错误

无法更新数据库.. .ddf是只读的。

通过编辑我对.mdf和日志文件的权限,我能够绕过它。 我做了一些研究,发现我可能想将数据库安装到共享文件夹中。 但是,我不知道该怎么做,我遇到的答案并没有多大意义。

  //My connection string SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|AssetDatabase.mdf;Integrated Security=True"); 

任何指导将不胜感激。 我在学习。

MDF文件将是readonly,因为readonly文件属性标志已设置,在这种情况下您必须取消设置,或者另一个程序将MDF文件锁定为readonly。 您是否正在运行使用该文件的SQL Server版本?

我从未见过直接与MDF文件的连接,通常是通过服务器完成的,服务器将管理MDF文件的所有IO。

例如,SQL Server的典型连接字符串:

 Database=;Server=;MultipleActiveResultSets=True;Connection Timeout=10;User Id=;Password=; 

其他链接:

1) 无法更新.mdf数据库,因为数据库是只读的(Windows应用程序)

2) 无法更新数据库,因为它是只读的

3) 无法更新数据库“* .mdf”,因为只读EntityFramework

4) http://www.codeproject.com/Questions/183758/Failed-to-update-mdf-database-because-the-database

首先从本地服务菜单停止SQLEXPRESS服务,然后尝试通过在SQLEXPRESS中附加数据库选项再次移动和连接数据库。 它应该工作。 这个对我有用。 🙂

  1. 只需转到程序文件并找到已安装程序的文件夹即可。
  2. 只需右键单击文件夹中的.mdf文件,然后单击“属性”。
  3. 在PROPERTIES TAB – > SECURITY – >中,您将看到组或用户名。
  4. 在那里选择你想要给予文件访问权限的用户。
  5. 如果对于该用户,则PERMISSION未设置为FULL CONTROL。
  6. 更改权限 – >点击编辑。
  7. 现在将打开“组或用户名”框。
  8. 在选择用户 – >选择权限框中的完全控制。
  9. 现在也按照日志文件的步骤操作。 如果需要的话。

要么

只需将您的应用程序安装在ProgramFile以外的其他文件夹中(x86)

如果您的数据库文件在C卷上,请尝试将.mfd文件移动到D卷