运行 Airflow 中的存储过程

Run Stored Procedure in Airflow

我尝试 运行 我在 Airflow 中的存储过程。简单地说,我导入了 mssql 运算符并尝试执行以下操作:

sql_command = """ EXEC [spAirflowTest] """
t3 = MsSqlOperator( task_id = 'run_test_proc',
                    mssql_conn_id = 'FIConnection',
                    sql = sql_command,
                    dag = dag,
                    database = 'RDW')

成功完成此任务。但是,任务甚至没有执行。因为我没有从系统中得到错误,所以我也无法识别错误。为了确定它是否到达了我的 Microsoft sql 服务器,我检查了数据分析,服务器似乎收到了命令但没有执行它。事实上,我可以在数据分析工具中看到 sql 命令。

当我 运行 命令阅读某些内容时,例如:

select *
from sys.tables

它returns成功,也有结果。我怎么解决这个问题?有没有人遇到过这个问题?

sql_command = """ EXEC [spAirflowTest] """
t3 = MsSqlOperator( task_id = 'run_test_proc',
                    mssql_conn_id = 'FIConnection',
                    sql = sql_command,
                    dag = dag,
                    database = 'RDW',
                    autocommit = True)

如上所述添加自动提交解决了问题