Параметр динамического содержимого фабрики данных Azure - PullRequest
0 голосов
/ 09 февраля 2019

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

это работает нормально:

@concat(' SELECT  * FROM dbo. ',
        item().TABLE_list ,
       ' WHERE   modifieddate > DATEADD(day, -1, GETDATE())')"

когда я использую:

@concat(' SELECT  * FROM dbo.  ',
         item().TABLE_list ,
        '  WHERE   modifieddate > @{formatDateTime(
                  addhours(pipeline().TriggerTime-24)),
                  ''yyyy','-','MM','-','ddTHH',':','mm',':','ssZ''}')

получение ошибки как "errorCode": "2200",

"message": "Failure happened on 'Source' side. 'Type=System.Data.SqlClient.SqlException,Message=Must declare the scalar variable \"@\".,Source=.Net SqlClient Data Provider,SqlErrorNumber=137,Class=15,ErrorCode=-2146232060,State=2,Errors=[{Class=15,Number=137,State=2,Message=Must declare the scalar variable \"@\".,},],'",
    "failureType": "UserError",
    "target": "Copy Data1"
}
  • какую ошибку я делаю?

  • Мне нужно динамически передавать дату последнего времени выполнения конвейера после> в условии условия.

1 Ответ

0 голосов
/ 13 февраля 2019

select * From dbo. @ {Item (). TABLE_LIST} WHERE ModifiedDate> @ {formatDateTime (addhours (pipe.)*

Вы можете использовать выражение для интерполяции строк.Concat усложняет ситуацию.

https://docs.microsoft.com/en-us/azure/data-factory/control-flow-expression-language-functions#expressions

...