Azure数据工厂slicestart格式错误

时间:2015-04-20 12:13:50

标签: azure cortana-intelligence azure-data-factory

我一直在尝试设置SELECT参数 - slicestart时间来收集最近更改的记录:

WHERE pv.CreatedAt >= \\'{0:yyyyMMdd-HH}\\'', Time.AddHours(SliceStart, 0))"

我收到了错误:

  

数据库操作失败。数据库执行的错误消息:   错误码= FailedDbOperation,'类型= Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,消息= A   数据库操作失败,出现以下错误:'转换失败   从角色转换日期和/或时间时   串。 '源=',“类型= Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,消息= A   数据库操作失败,出现以下错误:'转换失败   从角色转换日期和/或时间时   串。 '源= Microsoft.DataTransfer.ClientLibrary,''类型= System.Data.SqlClient.SqlException,消息=转换   从字符转换日期和/或时间时失败   string。,Source = .Net SqlClient Data Provider,SqlErrorNumber = 241,'。

2 个答案:

答案 0 :(得分:0)

我看到你正在使用Time.AddHours()函数,但是传递0作为参数,这将为SliceStart值增加零小时。如果您不打算增加SliceStart时间,请尝试以下操作:

“sqlReaderQuery”:“$$ Text.Format('select ... where pv.CreatedAt> = \'{0:yyyy-MM-dd} \',SliceStart)”

干杯, 路易斯

答案 1 :(得分:0)

除了@Luis的回答。

您必须确保源日期格式必须与传递日期的格式相匹配。

例如: - 如果源是Oracle,则按如下方式编写查询: -

WHERE TO_DATE(pv.CreatedAt,'YYYY-MM-DD') >= \\'{0:yyyy-MM-dd}\\'',SliceStart))"