0

ibatis 経由でストアド プロシージャを呼び出しています。jconn2.jar (5.5) を使用すると、動作し、動作しました。jtds jar (1.2.5) に交換すると、「無効な SQL ステートメントまたは JDBC エスケープ、終了 '}' が見つかりません」という例外が発生します。

透明性を高めるために、Spring と DBCP を使用しています。明らかに、jTDS での SQL コードの解析は好まれておらず、jconn2 で受け入れられています。このプロジェクトは私たちよりも前からあり、私はもう何年も Sybase を使っていません。

データ内の範囲外の文字は、「-」、「:」、および「.」です。

この問題を回避するには、ストアド プロシージャ呼び出しステートメントでパラメーターをエスケープする必要がありますか? jTDS に設定されていない jconn2 のデフォルト設定はありますか?

ありがとう。

4

1 に答える 1

0

答えは、jConnectが中括弧と括弧の順序を大まかに解釈することです。

したがって、{call MyStoredProc(?、?、?})はjConnectには問題ありません。jTdsには厳密な解析があるため、中括弧と括弧が一致していません。

楽しくない。

于 2010-04-13T19:31:41.620 に答える