У меня есть хранимая процедура, которая принимает определенный пользователем тип таблицы в качестве параметра. Я хочу использовать этот SP в исходном наборе данных в операции копирования данных фабрики данных Azure. Я видел примеры, где мы можем использовать определяемый пользователем тип таблицы в наборе данных приемника, но не с исходным набором данных.
Можно ли выполнить SP с определенным пользователем типом таблицы в качестве параметра, чтобы получить данные из SQL и скопировать их в хранилище BLOB-объектов?
Вот мой SP:
CREATE PROCEDURE [export].[up_get_qnxt_enrollment_date]
@effectiveDate DATETIME
, @lobPlanDimIDs export.intList READONLY
AS
BEGIN
......
END
export.intList - это пользовательский тип таблицы:
CREATE TYPE [export].[intList] AS TABLE(
[Id] [int] NULL,
[Name] [varchar(256)] NULL
)
Я не могу установить этот параметр в наборе исходных данных Azure DF. Я попытался установить этот массив JSON, но безуспешно:
"typeProperties": {
"source": {
"type": "AzureSqlSource",
"sqlReaderStoredProcedureName": "[export].[up_get_qnxt_enrollment_date]",
"storedProcedureParameters": {
"effectiveDate": {
"type": "DateTime",
"value": "2004-01-01"
},
"lobPlanDimIDs": {
"type": "export.intList",
"value": [
{
"Id": { "type": "int", "value": 1 },
"Name": { "type": "String", "value": "ABC" }
},
{
"Id": { "type": "int", "value": 2 },
"Name": { "type": "String", "value": "DEF" }
}
]
}
},
"queryTimeout": "02:00:00"
Есть что-то, чего мне не хватает или эта функция еще не доступна в Azure DF?
Обновление: Согласно предложению Мартина Эстебана Зуриты, я использовал запрос вместо SP. Это идеальный обходной путь. Я также создал запрос функции: Поддержка определяемой пользователем таблицы в Azure DF для источника
Пожалуйста, сообщите, если вам нужна эта функциональность.