【发布时间】:2023-11-23 09:21:01
【问题描述】:
我确定以前有人问过这个问题,但我没有在类似的问题中看到任何内容。 :(
我有一个我在本地开发的 ASP.NET MVC 应用程序,它一直在使用 SQL Server Express 数据库。在 Azure 中,我重新创建了数据库并获取了它提供的连接字符串,并更新了我的应用程序的 web.config 中的连接字符串以使用新数据库。
当我将应用程序发布到 Azure 时,似乎没有任何问题。但是,当我在访问数据库的应用程序中点击一个页面时,它会抛出一个错误,抱怨它找不到 SQL Server Express 数据库。以下是错误的主要sn-p:
SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。
服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供程序:SQL 网络接口,错误:52 - 无法找到本地数据库运行时安装。验证 SQL Server Express 已正确安装并且本地数据库运行时功能已启用。)
所以它似乎忽略了我的连接字符串并仍在寻找本地存储的 SQL Server Express 数据库,而不是使用我在连接字符串中指定的 Azure 数据库。任何想法为什么会这样?我的猜测是我错过了一些非常基本的东西(我通常的猜测是当看起来应该很简单的东西不起作用时。:))
以下请求的连接字符串:
本地:
<add name="FCDbContext" connectionString="data source=(localdb)\MSSQLLocalDB;initial catalog=FormCenterResponder;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
Azure 连接字符串:
<add name="FCDbContext" connectionString="Server=tcp:***azuredbserver here***,1433;Initial Catalog=***azuredb here***;Persist Security Info=False;User ID=***username here***;Password=***password here***;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient" />
并根据另一个请求配置服务(几乎是默认值):
public void ConfigureServices(IServiceCollection service)
{
services.AddControllersWithViews();
}
【问题讨论】:
-
向我们展示您的连接字符串 - 用于本地 SQL Server Express 以及 Azure 中的数据库
标签: c# sql-server asp.net-mvc database azure