SQL Compact Edition - 不允许访问数据库文件

时间:2013-04-04 15:57:08

标签: asp.net-mvc-3 entity-framework sql-server-ce

我正在使用MVC 3.0和实体框架从头开始创建博客站点。我正在为数据存储使用SQL CE .sdf文件。这存储在项目App_Data文件夹中。在当地,一切正常。不是问题。读取并处理.sdf文件时没有错误。但是,在使用Web Deploy发布到共享主机提供程序后,尝试查看远程站点时出现以下错误: -

不允许访问数据库文件

我在web配置中使用的连接字符串是: -

<connectionStrings>
<add name="DataAccess.BlogDbContext" connectionString="Data Source=DansMVCBlog.sdf" providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>

我已经研究过这个问题并且已经碰壁了。建议包括将App_Data / DansMVCBlog.sdf添加到连接字符串文件路径而不仅仅是文件名。这不起作用,因为您被告知文件路径无效。在共享主机控制面板上,我已将App_Data文件夹的读/写权限设置为true。另外,在我的Global.asax文件中,我已禁用 `Database.SetInitializer(new DataInitializer());

我在这里犯了小学生错误吗?有没有人有什么建议?谢谢

3 个答案:

答案 0 :(得分:1)

看起来OP可能已经解决了他们的问题,但就我而言,事实证明我的源控制系统已将数据库文件标记为只读。清除只读标志解决了问题。

答案 1 :(得分:0)

您可能需要更新连接字符串

<connectionStrings>
  <add name="DataAccess.BlogDbContext" 
       connectionString="Data Source=|DataDirectory|DansMVCBlog.sdf"
       providerName="System.Data.SqlServerCe.4.0" />
</connectionStrings>

答案 2 :(得分:0)

谁知道解决方案是什么。我只能说我在使用Web部署发布时遇到了问题,所以我转而使用ftp。之后一切正常。