我通过 Web-Role 将我的 ASP.NET MVC 4 Web 项目(SimpleMembershipProvider,EF CF)推送到 Windows Azure 到 Azure 云服务。在我的 Web 项目中,我使用位于“App_Data”下的 CE4 数据库 (.sdf) 数据库。
发布过程完成后,我在浏览器中打开我的网站,我收到以下错误:
不允许访问数据库文件。[ 1914,文件名 = E:\sitesroot\0\App_Data\xyzDb.sdf,SeCreateFile]
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.SqlServerCe.SqlCeException:不允许访问数据库文件。[1914,文件名 = E:\sitesroot\0\App_Data\LivescoreDb.sdf,SeCreateFile]
为了让站点运行,我通过远程桌面将我的远程桌面连接到我在 azure 上的虚拟系统,并且必须将“网络服务”帐户“Wite Access”提供给“E:\sitesroot\0\App_Data”文件夹。
我的 Web.Config 连接字符串:
name="xyzConnection" connectionString="数据源=|DataDirectory|\xyzDb.sdf" providerName="System.Data.SqlServerCe.4.0"
之后我的网站运行!
我有可能改变这种不良行为。
例如,我试图在项目中更改我的数据库文件的位置,但后来我找不到将相对路径放置到连接字符串的方法。
谢谢