2

我有一个存储在 /App_Data 目录中的本地数据库的 ASP.NET MVC 3 项目。该数据库是 SQLExpress 文件 (*-mdf)。

我的连接字符串在我的开发 CPU 中完美运行,连接字符串是:

数据源=.\SQLEXPRESS;初始目录=CFCBBSecurity;集成安全=SSPI;AttachDBFilename=|DataDirectory|\MYFILE.mdf;用户实例=true" providerName="System.Data.SqlClient"

当我使用 VS 2010 将其上传到 Azure 时,所有文件都在服务器中,但应用程序无法访问数据库。

我应该做什么,更改或更新?

提前致谢。

4

1 回答 1

6

问题是您引用的是本地 SQL 实例(.\SQLEXPRESS,“点”代表 localhost)。我假设您在您的机器上运行 SQL Server 2005/2008/2012 Express,这就是它在本地工作的原因。

但是,当您将应用程序部署到 Windows Azure 时,该 Web 角色/工作者角色/网站上没有安装 SQL Server(无论如何,这将是一个坏主意,因为 Web/工作者角色不是持久的!)。

您需要做的是注册像 SQL Azure 这样的“云数据库”并使用它。或者,您可以自己将其托管在 Windows Azure 虚拟机(即 IaaS,但这涉及更多工作)中。

如果您正在构建 MVC 3 应用程序,我建议您从 SQL Azure 开始。这是一个教程:在 Azure 上运行 ASP.NET MVC 3 应用程序(请注意,本教程包含旧门户的屏幕截图)。

于 2012-08-17T21:54:49.833 回答