45

我正在开发一个 ASP.NET MVC 网站,我想将其托管在 Azure 网站上。在开发过程中,我一直在 App_Data 目录中使用 MDF 文件,其连接字符串如下所示:

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=MyApp;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\MyApp.mdf;MultipleActiveResultSets=true" providerName="System.Data.SqlClient"  />

为了在 Azure 上试用它,我希望我可以保留这个连接字符串,然后简单地将我的 MyApp.mdf FTP 到 Azure 上的 App_Data 文件夹中,因为它都设置了我想要使用的示例数据。但是,当我尝试访问我的网站时,遇到了以下错误:

建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:52 - 无法找到 LocalDB 安装。验证 SQL Server Express 是否已正确安装并且 LocalDB 功能是否已启用。)

我的问题是,有没有办法让我的 Azure 网站连接到 App_Data 文件夹中的 MDF 文件,或者我是否被迫使用 Azure SQL 数据库?

4

2 回答 2

34

您不能在 App_Data 中使用 .mdf 文件,但您不必强制使用 SQL Azure——您可以使用 SQL Server Compact。如果您使用 Code First 迁移,从 LocalDB 部署到 Compact 很容易;否则,您必须在部署之前迁移到 SQL Server Compact。如果您决定使用 Compact,则必须确保已部署数据库引擎,您可以在本教程中找到相关说明:

http://www.asp.net/mvc/tutorials/deployment/deployment-to-a-hosting-provider/deployment-to-a-hosting-provider-deploying-sql-server-compact-databases-2-of- 12

于 2012-10-14T17:07:53.937 回答
3

您必须使用 SQL Azure 才能使用网站/云服务功能。

如果您还没有,您可能想看看使用 web deploy 进行的 web.config 转换,以简化发布体验。

http://msdn.microsoft.com/en-us/library/dd465318(v=vs.100).aspx

http://www.hanselman.com/blog/TinyHappyFeatures3PublishingImprovementsChainedConfigTransformsAndDeployingASPNETAppsFromTheCommandLine.aspx

您可以通过管理工具将数据导入 SQL Azure DB,或者如果您使用 SQL Server 2012,您可以通过门户导入/导出数据。

于 2012-10-14T00:39:37.520 回答