ESQLの計算ノードには、以下のESQLクエリが含まれていますESQLは、タイムスタンプの近くに不正な構文を生成
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:dateTime
としてXSDに記載されており、そのため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 Serverのワイヤプロトコルドライバ] [Microsoft SQL Serverの]
付近に正しくない構文:
統合バスは、次のクエリを生成します'2016-09-29 00:00:00'
さらに奇妙なことに、テストIBM WebSphereはうまく動作し、この奇妙な "TIMESTAMP"プレ生産統合バスはテスト統合バス仮想マシンの完全なクローンですが、修正します。
testとproductionリモートデータベースの両方のSQL Serverバージョンとその互換性レベルは同じです(SQL Server 2008 R2; 80)。
例外の詳細:
カタログ= 'BIPmsgs'
番号= 2322
テキスト=子供SQL例外
ファイル=「/ビルド/ S1000_slot1/S1000_P/SRC/DataFlowEngine/MessageServices/ImbOdbc.cpp」
ライン= 3776
機能= 'ImbOdbcStatement :: checkRcInner'SQL State = HY000
ネイティブエラーコード= 102
エラーテキスト= [IBM] [ODBC SQL Serverワイヤープロトコルドライバー] [Microsoft SQL Server] '2016-09-29 00:00:00'付近の構文が正しくありません。
どのデータベースに問題があるのかを明確にすることはできますか? –
@TimBiegeleisenテストサーバーと本番サーバーの両方がSQL Server 2008 R2です。 –