Запуск хранимой процедуры в 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

он также возвращает успешный результат. Как я могу решить эту проблему? Есть кто сталкивался с этой проблемой?


person Nihad Azimli    schedule 01.04.2019    source источник


Ответы (1)


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

добавление автофиксации, как указано выше, решило проблему

person Nihad Azimli    schedule 04.04.2019