在Azure web应用程序中发布出现服务器错误

问题描述:

我有一个在Visual Studio中创建的Web应用程序,昨天我将它部署到Azure应用程序服务。 一切顺利,现在应用程序运行在云中,但是当我试图运行我的应用程序的下一页(它需要数据连接)时,出现以下错误:在Azure web应用程序中发布出现服务器错误

错误:52 - 无法找到本地数据库运行时安装

下面是从的web.config文件的代码,它描述了连接字符串:

<connectionStrings> 
    <add name="RegistrationConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\EHR.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/> 
    <add name="EHREntities" connectionString="metadata=res://*/ModelVac.csdl|res://*/ModelVac.ssdl|res://*/ModelVac.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\EHR.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient"/> 
</connectionStrings> 

这里是从我的内部代码样本,作为如何我已经做了到SQL Server的连接示例:

try 
     { 
      SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString); 
      conn.Open(); 

      string pa_gy = "SELECT Gender FROM P_identity WHERE (([P_Id] = @id)) "; 
      SqlCommand com1 = new SqlCommand(pa_gy, conn); 
      com1.Parameters.AddWithValue("@id", id1.ToString()); 
      string gyn = Convert.ToString(com1.ExecuteScalar()); 


      conn.Close(); 
     } 
     catch (Exception ex) 
     { 
      Response.Write("Error :" + ex.ToString()); 
     } 

这里是在Visual Studio中我的数据连接的属性(我创造了它有而不是在SQL Server Management Studio中: enter image description here

请问这是怎么解决的?我认为这真的很愚蠢,但我完全陷入了困境。 (如果还有其他内容有助于解决方案,请告诉我发布)

+2

您是否将数据库安装在本地计算机以外的地方,以便WebApp可以连接到它?您的连接字符串显示本地数据库实例。 –

+0

@MaviDomates我试图通过Visual Studio>服务器资源管理器>修改连接(我的数据连接)并将其从Microsoft SQL Server数据库文件更改为Microsoft SQL Server,并且没有任何更改。我还应该尝试做什么? – natso

当应用程序部署为天蓝色的web应用程序或webroles时,不能使用LocalDB。您必须将数据库创建为SQL Azure数据库,或将其作为Windows VM(IaaS)上的SQL数据库。更简单的选择是创建一个SQL Azure数据库并将所有数据移动到那里并使用它。

这里是一个关于将localdb迁移到sql azure的问题。 https://social.msdn.microsoft.com/Forums/en-US/cab265c5-1774-4237-9473-bff05e6686a5/how-can-we-move-data-from-a-localdb-database-to-a-sql-azure-database-?forum=ssdsgetstarted

+0

完成此操作后,可以在Web.Debug.config,Web.Release.config中指定部署连接字符串,也可以直接在Azure门户中的“应用程序设置”下进行设置。 – jeffaudio

+0

@jeffaudio感谢你们两位,你们的评论真的帮助了我! – natso