【发布时间】:2019-08-19 07:17:38
【问题描述】:
我想连接我的 Airflow 和 Microsoft SQL Server。我在“管理”框中的“连接”栏下配置了我的连接,如以下链接中所述: http://airflow.apache.org/howto/manage-connections.html
但是当我运行与 SQL 服务器相关的 Dag 任务时,由于以下错误而立即失败:
[2019-03-28 16:16:07,439] {models.py:1788} ERROR - (18456, "Login failed for user 'XXXX'.DB-Lib error message 20018, severity 14:\nGeneral SQL Server error: Check messages from the SQL Server\nDB-Lib error message 20002, severity 9:\nAdaptive Server connection failed (***.***.***.28:1433)\n")
我来自 DAG 的用于 Microsoft Sql Connection 的代码如下:
sql_command = """
select * from [sys].[tables]
"""
t3 = MsSqlOperator( task_id = 'run_test_proc',
mssql_conn_id = 'FIConnection',
sql = sql_command,
dag = dag)
我通过本地计算机上的 pymssql 库建立连接来验证 IP 地址和端口号类型的配置。测试代码如下:
pymssql.connect(server="***.***.***.28:1433",
user="XXXX",
password="XXXXXX"
) as conn:
df = pd.read_sql("SELECT * FROM [sys].[tables]", conn)
print(df)
如果你遇到过这个问题,可以分享一下吗?
顺便说一下,我在 Ubuntu 16.04 LTS 中使用 VirtualBox
【问题讨论】:
-
听起来你需要检查用户名/密码组合。
-
我在我的 pymssql 测试中尝试使用相同的用户名和密码组合,它有效。出于安全原因,我将其更改为 xxxx :)
-
当然你不会在这里发布真正的价值。关键是错误消息告诉您用户无法使用提供的凭据进行连接。用户存在吗?您是否仔细检查了用户名和密码?
-
抱歉造成误会。是的,我检查了很多次用户名和密码,正如我上面所说的,我检查了在我的 python 脚本上使用相同的值登录。
-
你好 Nihad,你能发布你的修复吗?上面指定的数据库名称在哪里?提前致谢。巴拉特
标签: sql sql-server airflow