我有一个SQL水印表,其中包含目标表中的最后一个日期
我的源数据来自Azure存储表,日期时间是一个字符串
我在水印表中设置了日期时间以匹配Azure表存储中的格式
我创建一个查找和复制任务 enter image description here
如果我将日期硬编码到Query for source中并运行,则可以正常运行CreatedAt ge'2019-03-06T14:03:11.000Z'
但是显然我不想硬编码这个值。我想使用查询中的日期
但是当我将硬编码日期替换为查找值
CreatedAt ge'activity('LookupWatermarkOld')。output'
我遇到错误
{“ errorCode”:“ 2200”,“ message”:“ ErrorCode = FailedStorageOperation,'Type = Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message = A 存储操作失败,并显示以下错误“远程服务器返回错误:(400)错误的请求。”。,Source =,''Type = Microsoft.WindowsAzure.Storage.StorageException,Message =远程服务器返回错误:(400 )错误的请求。,Source = Microsoft.WindowsAzure.Storage,StorageExtendedMessage =语法 \ nRequestId:8c65ced9-b002-0051-79d9-d41d49000000 \ n时间:2019-03-07T11:35:39.0640233Z,``类型= System.Net.WebException,消息=远程服务器返回错误:(400)错误的请求。,源= Microsoft.WindowsAzure.Storage,'“, “ failureType”:“ UserError”,“ target”:“ CopyMentions”}
有人可以帮我吗?如何在Azure表查询中使用Lookup值?
答案 0 :(得分:0)
检查一下:
1)查找活动。查询字段:
从TableName中选择MAX(WatermarkColumnName)作为LastId;
此外,请确保选中“仅第一行”选项。
2)在“复制数据”活动中使用查询。查询字段:
@concat('SELECT * FROM TableName as s.WatermarkColumnName>''',activity('LookupActivity')。output.firstRow.LastID,'''')
答案 1 :(得分:0)
最后我得到了一些帮助,它可以与
一起使用CreatedAt gt'@ {activity('LookupWatermarkOld')。output.firstRow.WaterMarkValue}'
WaterarkValue是SQL查找表中的列名
查找将创建一个数组,因此您必须从该数组中指定FirstRow
然后将''换行,然后将其用作字符串值
答案 2 :(得分:0)