使用包含日期范围的sql的骆驼端点URI

时间:2018-10-23 05:50:00

标签: apache-camel camel-sql

我将包含sql组件URI的端点指定为:

<endpoint id="select-myS" uri="sql:select myField from myView where ChangeDate between :#startDate and :#endDate"/>

我将startDate和endDate设置为标题。 在这种情况下,我收到以下错误消息: com.microsoft.sqlserver.jdbc.SQLServerException:关键字'between'附近的语法不正确

如果我尽量避免介于两者之间,请添加以下两个子句: ChangeDate> =:#startDate和ChangeDate <=:#endDate,我收到其他错误:  与元素类型“ null”相关联的属性“ uri”的值不得包含“ <”字符

(我也尝试过:#endDate> = ChangeDate,它也不起作用!:-()。

请问您对此有何建议?

谢谢!

1 个答案:

答案 0 :(得分:0)

在使用XML描述路由和端点时,必须转义'>'和'<'字符,例如:

> should be escaped as &gt; (aka greather than)
< should be escaped as &lt; (aka lower than)

哪个给:

<endpoint uri="sql:... where ChangeDate &gt;= :#startDate and ChangeDate &lt;= :#endDate">