我的azure中有api appservice,而且我安装了SQL Server的VM。 现在我想连接到vm上的数据库。在向api提供连接字符串时,我不断收到以下连接错误:
Server=db-svr;Initial Catalog=DBName;Persist Security Info=False;User ID=userid;Password=password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;
System.AggregateException:发生了一个或多个错误。 (建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确以及SQL Server是否配置为允许远程连接。(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接))
System.Data.SqlClient.SqlException:建立与SQL Server的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
System.ComponentModel.Win32Exception:访问被拒绝
---内部异常堆栈跟踪结束---at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity,SqlConnectionString connectionOptions,Object providerInfo,Boolean redirectedUserInstance,SqlConnectionString userConnectionOptions,SessionData reconnectSessionData,Boolean applyTransientFaultHandling)
我的虚拟机 - >概述:没有配置DNS名称,也没有公共ipaddress。 这就是我使用计算机名称的原因。
此外,VM-> Networking已获得以下入站规则。
任何人都可以帮助我如何将我的应用服务连接到此VM中可用的SQL Server数据库吗?
由于
答案 0 :(得分:1)
这是因为他们必须通过互联网互相交谈,因此您必须为sql服务器提供正确的DNS名称或为其使用静态公共IP。
从技术上讲,你可以在webapp中使用vpn,但这会让事情变得复杂。