Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 SQL Compact Edition-不允许访问数据库文件_Asp.net Mvc 3_Entity Framework_Sql Server Ce - Fatal编程技术网

Asp.net mvc 3 SQL Compact Edition-不允许访问数据库文件

Asp.net mvc 3 SQL Compact Edition-不允许访问数据库文件,asp.net-mvc-3,entity-framework,sql-server-ce,Asp.net Mvc 3,Entity Framework,Sql Server Ce,我正在使用MVC3.0和实体框架从头开始创建博客网站。我正在使用SQLCE.sdf文件作为数据存储。这将存储在Project App_数据文件夹中。在当地,一切正常。没问题。读取和处理.sdf文件时不会出错。但是,在使用Web Deploy发布到共享主机提供商后,我在尝试查看远程站点时出现以下错误:- 不允许访问数据库文件 我在web配置中使用的连接字符串是:- <connectionStrings> <add name="DataAccess.BlogDbContext" c

我正在使用MVC3.0和实体框架从头开始创建博客网站。我正在使用SQLCE.sdf文件作为数据存储。这将存储在Project App_数据文件夹中。在当地,一切正常。没问题。读取和处理.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_数据文件夹的读/写权限设置为true。此外,在我的Global.asax文件中,我已禁用 `SetInitializer(新的DataInitializer())


我是不是犯了小学生的错误?有人有什么建议吗?谢谢

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

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


看起来OP可能解决了他们的问题,但在我的例子中,我的源代码管理系统将数据库文件标记为只读。清除只读标志解决了这个问题。

谁知道这个问题的解决方案是什么。我能说的就是我在使用WebDeploy发布时遇到了问题,所以我改用ftp。之后一切都很顺利。

谢谢,但我已经试过了。在您的连接字符串示例中,我能看到的唯一不同之处是包含了| DataDirectory |,Iv解释了它不起作用。另外,我已经通过共享主机控制面板手动更新了web配置连接字符串,但没有joy。通常主机不提供对AppData目录的读写访问,您或支持人员必须手动提供网站appPool Identity R/W对文件夹的访问权限。您可能希望尝试关闭webdeploy上的ACL
False