在气流中运行存储过程

时间:2019-04-01 12:22:35

标签: sql-server stored-procedures automation airflow airflow-scheduler

我尝试在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

它也成功返回结果。我怎么解决这个问题?是否有人遇到过此问题?

1 个答案:

答案 0 :(得分:0)

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

通过添加上述自动提交功能解决了该问题