背景:
我使用 EFCore (2.2.2)创建了一个 .Net Core (2.2.0) 应用程序。到目前为止,我一直在使用本地SQL Server实例,并尝试使用Azure SQL Server。
我已将数据库上下文中的连接字符串更新为 Azure 仪表板上的连接字符串。
我已经在VS2017的SQL Server对象资源管理器中登录到Azure中使用的帐户,并且数据库正在出现。
我使用的是代码优先方法,因此在运行应用程序之前没有可用的表。
错误:
与网络相关的或 建立与 SQL Server 的连接时发生特定于实例的错误。 找不到服务器或无法访问服务器。
验证实例名称是否正确,以及 SQL Server 是否配置为允许远程连接。
(提供程序: SQL 网络接口,错误: 25 - 连接字符串无效)
连接字符串为:
.UseSqlServer(
@"Server = tcp:db.database.windows.net, 1433;
Initial Catalog = DB;
Persist Security Info = False;
User ID = username@db.database.windows.net;
Password = password;
MultipleActiveResultSets = False; Encrypt = True;
TrustServerCertificate = false;
Connection Timeout = 60;");
我的本地网络没有出色的功能。这会对连接产生影响吗?
还是此连接字符串中存在错误?
编辑:我将连接超时更改为800秒,在~800秒后,连接再次超时,这次的错误略有不同:
错误 2:
与网络相关的或 "与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及 SQL Server 是否配置为允许远程连接。(提供程序:TCP 提供程序,错误:0 - 未知此类主机。
你可能没有提供从安全组远程连接的 Azure 数据库的权限。大多数情况下,不允许从远程计算机访问它。从数据库安全组和资源安全组中检查,并确保您的 IP 在允许列表中。
我将关闭它,因为它被证明是一个延迟问题。