在Azure上使用LocalDb MDF文件

时间:2012-10-13 07:30:32

标签: asp.net-mvc azure azure-web-sites

我正在开发一个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数据库?

2 个答案:

答案 0 :(得分:32)

您不能在App_Data中使用.mdf文件,但您不必使用SQL Azure - 您可以使用SQL Server Compact。如果您使用Code First Migrations,从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

答案 1 :(得分:2)

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

如果您还没有,您可能希望通过Web部署查看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,则可以通过门户导入/导出数据。