【发布时间】:2017-03-08 09:14:59
【问题描述】:
我一直在尝试为我的 ASP.NET Core 应用程序设置 SQL Server 2016 Express 实例。我已经达到了可以使用本地开发计算机上的开发版本连接到数据库的地步,但不能使用服务器上的已发布版本(也托管 SQL Server 实例)
我将本地开发版本称为“开发服务器”,将远程发布版本称为“真实服务器”。两台服务器访问同一个 SQL Server 实例
在开发服务器上,我在 appSettings.json 中使用以下 connectionString 毫无问题地连接到 SQL 服务器
Data Source=10.50.70.50;Integrated Security=False;User ID=voetbal;Password=*******;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
当我尝试从真实服务器连接时出现错误
SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:SQL 网络接口,错误:52 - 无法找到本地数据库运行时安装。验证 SQL Server Express 已正确安装并且本地数据库运行时功能已启用。) 在远程机器上,我在 appsettings.json 和环境变量中都尝试了以下 connectionStrings:
有IP:
Data Source=10.50.70.50;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
使用 localhost 而不是 IP:
Data Source=localhost;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
使用本地机器名称:
Data Source=WIN-DMM50393I9A;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
使用本地机器名称和 SQL 实例名称:
Data Source=WIN-DMM50393I9A\MSSQLLOCALDB;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
作为本地数据库:
Data Source=(localdb)\\MSSQLLOCALDB;Integrated Security=False;User ID=voetbal;Password=*****;Connect Timeout=15;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False
然后我想,也许它应该是“服务器”而不是“数据源”,所以我用那个替换再次尝试了它们。还是一样的错误。
所以有些东西告诉我连接字符串不是这里的问题。每当我在互联网上搜索错误时,我只会找到有关人们尝试连接到实际 LocalDB 实例的帖子,而不是 SQL Server Express 实例。如果我的应用确实在尝试连接到 LocalDB 实例,那么为什么我的开发服务器要使用数据库?
我不知道我还能做些什么来解决这个问题。有什么想法吗?
【问题讨论】:
标签: asp.net sql-server asp.net-core sql-server-express