我一直在尝试设置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,'。
答案 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))"