我在Visual Studio中创建了一个Web应用程序,昨天我将其部署到Azure App Service。 一切顺利,现在应用程序在云中运行,但是当我尝试运行我的应用程序的下一页(需要数据连接)时,会出现以下错误:
以下是 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="data source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\EHR.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"/>
</connectionStrings>
以下是我的内部代码中的示例,作为我如何与sql服务器建立连接的示例:
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中创建它:
请问如何解决这个问题?我认为这是非常愚蠢的事情,但我完全陷入困境。 (如果还有其他有助于解决方案的内容,请告诉我发布)
答案 0 :(得分:0)
当应用程序部署为azure Web应用程序或webroles时,无法使用LocalDB。您必须将db创建为sql azure数据库,或者将其作为Windows VM(IaaS)上的sql db创建。更简单的选项是创建一个sql azure db并将所有数据移动到那里并使用它。
这是一个关于将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