在Azure上使用LocalDb MDF文件

Mar*_*ath 43 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"  />
Run Code Online (Sandbox Code Playgroud)

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

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

我的问题是,有没有办法可以运行我的Azure网站连接到我的App_Data文件夹中的MDF文件,还是我被迫使用Azure SQL数据库?

tdy*_*tra 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

  • 这在2015年仍然如此吗?我刚刚在Kudu中看到一个名为`LocalSqlServer`的默认连接字符串,其中包含`... AttachDBFilename = | DataDirectory | aspnetdb.mdf ...`并且我振作起来.我已经在使用SQLCE,但我更喜欢在我的Azure网站中附加SQLEXPRESS mdf. (4认同)