Как создать хранимую процедуру с помощью конвейера фабрики данных Azure?

#stored-procedures #azure-functions #azure-data-factory #azure-data-factory-2

Вопрос:

Как создать хранимые процедуры с помощью конвейера фабрики данных Azure?

Какую деятельность я должен использовать?

У меня есть существующий конвейер, в котором будет вызвана хранимая процедура и экспортированы ее данные, возвращенные в хранилище Azure. Но хранимая процедура, которую я использовал, создана вручную.

Теперь я хотел включить в конвейер, где он сначала создаст хранимую процедуру, а не создаст ее вручную.

Ответ №1:

Вы можете использовать copy data приемник действий для создания хранимой процедуры.

В разделе сценарий предварительного копирования в настройках приемника напишите свой сценарий для создания процедуры.

Примечание: У вас нет возможности написать сценарий предварительного копирования в исходном коде

Ниже показано, как я это сделал:

  1. Создайте пустую таблицу (фиктивную) для использования в качестве источника/приемника в наборе данных операций копирования, так как мы просто хотим создать хранимую процедуру с помощью этого действия.

введите описание изображения здесь

  1. Необязательно: Создайте переменную в конвейере для написания своего сценария

пример кода: CREATE PROCEDURE p1 AS select 'Hello' as col1

введите описание изображения здесь

  1. Используйте переменную для выполнения в сценарии предварительного копирования

введите описание изображения здесь

  1. Хранимая процедура, созданная в базе данных SQL Azure, прошла успешно.

введите описание изображения здесь

  1. Теперь вы можете вызвать хранимую процедуру в другом действии копирования или в новом конвейере в соответствии с вашими требованиями для копирования данных в хранилище Azure.

Действие по копированию данных 2:

Источник:

введите описание изображения здесь

Раковина:

введите описание изображения здесь

Выход:

введите описание изображения здесь

Комментарии:

1. В данных копии 1, что вы поместили в источник?

2. Я использую фиктивную таблицу для источника и приемника

3. Спасибо, это работает на меня. Но есть ли у вас какие-либо другие идеи без использования фиктивной таблицы?

4. Я попробовал несколько вариантов, но они не сработали, и в итоге я использовал фиктивную таблицу. Поскольку у нас есть сценарий предварительного копирования только в процессе копирования, и мы не можем оставить набор данных пустым, я использовал фиктивную таблицу. При необходимости вы можете вызвать процедуру хранения в раковине.

Ответ №2:

Если я правильно понимаю, вы пытаетесь создать хранимую процедуру, прежде чем вызывать ее в задании копирования конвейера?

Вы можете использовать сценарий предварительного копирования для создания хранимой процедуры, и если задание копирования предназначено для этой хранимой процедуры, просто используйте функцию «Редактировать» и вручную введите имя процедуры.

Комментарии:

1. Нет, создание хранимой процедуры должно происходить внутри конвейера. И используйте его в качестве мишени.