Google cloud platform 云编写器工作程序无法连接到外部数据库

Google cloud platform 云编写器工作程序无法连接到外部数据库,google-cloud-platform,airflow,google-kubernetes-engine,google-cloud-composer,pymssql,Google Cloud Platform,Airflow,Google Kubernetes Engine,Google Cloud Composer,Pymssql,我正在尝试使用我现有的cloud composer环境并连接到远程SQL数据库(Azure SQL)。这几天我一直在绞尽脑汁,希望有人能指出我的问题所在 根据所找到的文档,我构建了一个GKE服务和SQL代理工作负载。然后,我使用azure sqlproxy服务的全名创建了一个新的气流连接,如图所示: 我测试运行我的一个DAG任务,并获得以下结果: connection = pymssql.connect(host='database.url.net',user='sa',password='p

我正在尝试使用我现有的cloud composer环境并连接到远程SQL数据库(Azure SQL)。这几天我一直在绞尽脑汁,希望有人能指出我的问题所在

根据所找到的文档,我构建了一个GKE服务和SQL代理工作负载。然后,我使用azure sqlproxy服务的全名创建了一个新的气流连接,如图所示:

我测试运行我的一个DAG任务,并获得以下结果:

connection = pymssql.connect(host='database.url.net',user='sa',password='password',database='database')
无法连接:自适应服务器不可用或不存在

不确定的问题,我决定远程直接进入一个工人,白名单上的远程数据库防火墙的IP,并尝试连接到服务器。在未安装命令行MSSQL客户端的情况下,我在worker上启动python,并尝试通过以下方式连接到数据库:

connection = pymssql.connect(host='database.url.net',user='sa',password='password',database='database')
从中,我得到了与服务和作为主机输入的远程IP相同的错误。即使忽略服务/代理,该工作人员也不应该能够访问远程数据库吗?我可以ping网站,但检查远程日志,数据库不会显示任何失败的登录。由于一般性的错误和没有太多关于下一步该做什么的想法,我陷入了困境。一些谷歌搜索结果建议切换库,但我不太确定如何切换,或者是否需要切换


在使用服务/代理之前,我接下来可以采取哪些故障排除步骤来让至少一个工作人员与DB通信?

在经历了很多痛苦之后,我发现Cloud composer使用的是ubuntu 1804,它目前破坏了pymssql,如下所示:

我试图降到2.1.4,但没有成功。为了完成这项工作,我按照本文中概述的说明使用pyodbc


您是否尝试为本地SQL server打开TCP/IP访问权限。是的,通过nmap确认,我可以看到服务器和端口已打开:1433/tcp打开ms-sql-s