我正在尝试使用Azure数据工厂从源表中将最后一次运行时的数据加载到lastmodifieddate。
这工作正常:
@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"
}
我在做什么错?
我需要在> where条件之后动态传递管道的上次运行时间日期。
答案 0 :(得分:1)
选择*从dbo。@ {item()。TABLE_LIST}中修改日期> @ {formatDateTime(addhours(pipeline()。TriggerTime,-24),'yyyy-MM-ddTHH:mm:ssZ')} >
您可以使用字符串插值表达式。 Concat使事情变得复杂。