#sql-server #stored-procedures #automation #airflow #airflow-scheduler
#sql-сервер #хранимые процедуры #автоматизация #воздушный поток #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')
Она завершает эту задачу как успешную. Однако задача даже не выполняется. Поскольку я не получаю никакой ошибки от system, я также не могу идентифицировать ошибку. Чтобы определить, поступила ли она на мой Microsoft sql server, я проверил с помощью профилирования данных, и кажется, что сервер получает команду, но не выполняет ее. Действительно, я вижу команду sql в инструменте профилирования данных.
Когда я запускаю команду для чтения чего-либо, например :
select *
from sys.tables
она также возвращает результат с успехом. Как я могу решить эту проблему? Есть ли кто-нибудь, кто сталкивался с этой проблемой?
Ответ №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)
добавление автоматической фиксации, как указано выше, решило проблему