【发布时间】:2022-01-22 22:02:31
【问题描述】:
我在 Azure VM 实例中安装了一个源 SQL Server 数据库,我想将数据同步到 Bigquery。我选择了 Apache Airflow 来创建一个 DAG 来完成这项工作。源系统只能通过 VPN 网络连接。
我将本地系统连接到网络并使用 Python 包 pymssql 来查询数据库。我能够连接到它并执行查询。我开发了一个 DAG 管道并在我的本地环境中对其进行了测试。现在我想在 GCP 作曲家环境中部署该 DAG 管道。
在创建 composer 环境之前,我已经成功地在 GCP 和 Azure 之间创建了一个 VPC 网络。为了确认连接成功,我创建了一个 VM 实例并远程登录到数据库 IP 以确保我们能够 ping 数据库服务器。从 VM 实例,我们能够 ping 数据库服务器。但是在同一网络中创建composer环境并部署DAG代码时,会抛出以下错误
Traceback (most recent call last):
File "/home/airflow/gcs/dags/source.py", line 201, in <module>
conn = pymssql.connect(server='x.x.x.x', user=<username>, password=<password>, database=<dbname>)
File "src/pymssql/_pymssql.pyx", line 652, in pymssql._pymssql.connect
pymssql._pymssql.OperationalError: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (x.x.x.x)\nNet-Lib error during Connection timed out (110)\nDB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (x.x.x.x)\nNet-Lib error during Connection timed out (110)\n')
以下是用到的库
- pymssql == 2.2.2
过去几天遇到此错误。我知道网络配置应该存在问题,但无法找出该错误。任何帮助表示赞赏。谢谢!
【问题讨论】:
标签: sql-server python-3.x azure google-cloud-composer