我正在尝试使用 ODBC 以便使用 Azure 容器实例与 SQL 数据库建立连接。然而,它每次都会失败,因为显然随机公共 IP 地址正在用于出站流量:
dbConnect()
中的错误:
! ODBC 失败,来自 [Microsoft][ODBC Driver 18 for SQL Server][SQL Server] 的错误 00000。
✖ 无法打开登录请求的服务器 [服务器名称]。 IP 地址为“4.175.8.136”的客户端不允许访问服务器。
有什么方法可以使用私有IP进行出站流量,或者使用静态公共IP地址(在这种情况下可以列入白名单)。或者我可以使用任何其他服务,例如容器应用程序? 谢谢。
Error in `dbConnect()`: ! ODBC failed with error 00000 from [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]. ✖ Cannot open server [servername] requested by the login. Client with IP address '4.175.8.136' is not allowed to access the server.
这是sql server端的问题。 SQL 服务器不允许该 IP 地址,这可能是出现上述错误的原因。如果您使用 Azure SQL 从 Azure 资源提供对 sql server 的访问,则在 sql server 网络选项卡上有允许 azure 服务和资源到服务器选项,选中该选项并保存它,如下所示:
然后,在从 azure 容器实例连接时,您不需要一次又一次地将 IP 地址列入 Azure SQL 数据库白名单。