ESQL計算節點不正確的語法:ESQL產生接近包含以下ESQL查詢的生產的IBM WebSphere集成總線時間戳
SET result[] =
SELECT p.Id, p.Date, p.Value
FROM DatabaseName.dbo.TableName AS p
WHERE p.Date >= InputRoot.XMLNSC.ns:RequestType.Request.DateFrom
AND p.Date <= InputRoot.XMLNSC.ns:RequestType.Request.DateTo;
DateFrom
和DateTo
XSD中被描述爲xsd:dateTime
,因此被視爲TIMESTAMP
。
集成總線產生以下查詢:
SELECT p.Id, p.Date, p.Value
FROM DatabaseName.dbo.TableName as p
WHERE p.Date < TIMESTAMP'2016-01-02 00:00:00' and p.Date >= TIMESTAMP'2016-01-01'
這是不正確,並導致異常
[IBM] [ODBC SQL服務器Wire Protocol驅動程序] [微軟SQL服務器]
附近有語法錯誤'2016-09-29 00:00:00'
更奇怪的是,測試IBM WebSphere工作良好,並且不會生成這個奇怪的「TIMESTAMP」pre修復,而生產集成總線是測試集成總線虛擬機的完整克隆。
測試和生產遠程數據庫的SQL Server版本及其兼容級別相同(SQL Server 2008 R2; 80)。
異常詳細:
目錄= 'BIPmsgs'
數= 2322
文本=兒童SQL異常
文件=「/編譯/ S1000_slot1/S1000_P/src目錄/ DataFlowEngine/MessageServices/ImbOdbc.cpp」
線= 3776
功能= 'ImbOdbcStatement :: checkRcInner'SQL狀態= HY000
本機錯誤代碼= 102
錯誤文本= [IBM] [ODBC SQL Server連接協議驅動程序] [Microsoft SQL Server]語法錯誤'2016-09-29 00:00:00'附近。
你能澄清哪個數據庫有問題嗎? –
@TimBiegeleisen測試和生產服務器都是SQL Server 2008 R2。 –