Запустите хранимую процедуру в потоке воздуха - PullRequest
1 голос
/ 01 апреля 2019

Я пытаюсь запустить мою хранимую процедуру в 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 Server, я проверил с профилированием данных, и кажется, что сервер получает команду, но не выполняет ее.Действительно, я вижу команду sql в инструменте профилирования данных.

Когда я запускаю команду для чтения чего-либо, например:

select *
from sys.tables

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

1 Ответ

0 голосов
/ 04 апреля 2019
sql_command = """ EXEC [spAirflowTest] """
t3 = MsSqlOperator( task_id = 'run_test_proc',
                    mssql_conn_id = 'FIConnection',
                    sql = sql_command,
                    dag = dag,
                    database = 'RDW',
                    autocommit = True)

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

...