1

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

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

我得到了错误:

数据库操作失败。来自数据库执行的错误消息:ErrorCode=FailedDbOperation,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=数据库操作失败并出现以下错误:'从字符串转换日期和/或时间时转换失败。', Source=,''Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=数据库操作失败并出现以下错误:'从字符串转换日期和/或时间时转换失败。',Source=Microsoft.DataTransfer。 ClientLibrary,''Type=System.Data.SqlClient.SqlException,Message=从字符串转换日期和/或时间时转换失败。,Source=.Net SqlClient 数据提供程序,SqlErrorNumber=241,'。

4

2 回答 2

0

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

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

干杯,路易斯

于 2015-08-21T00:13:16.493 回答
0

除了@Luis 的回答。

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

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

WHERE TO_DATE(pv.CreatedAt,'YYYY-MM-DD') >= \\'{0:yyyy-MM-dd}\\'',SliceStart))"
于 2017-12-03T18:17:11.887 回答