Msgstr "Неверный оператор SQL или JDBC escape, завершающий '}' не найден." с jTDS и Sybase

Я вызываю хранимую процедуру через ibatis. Это работает, и работало, при использовании jconn2.jar (5.5). Когда я заменяю его на jtds jar (1.2.5), я получаю исключение "Недопустимый оператор SQL или escape JDBC, завершающий"} "не найден".

Для большей прозрачности я использую Spring с DBCP. Очевидно, что синтаксический анализ кода SQL в jTDS не нравится, что принимается в jconn2. Этот проект предшествовал многим из нас, и я не использовал Sybase в течение многих лет.

Внешние символы в данных "-", ":" и "."

Нужно ли экранировать мои параметры в операторе вызова хранимой процедуры, чтобы обойти эту проблему? Существуют ли настройки по умолчанию для jconn2, которые не установлены для jTDS?

Благодарю.

1 ответ

Решение

Ответ jConnect свободно интерпретирует порядок скобок и скобок.

Так что {вызов MyStoredProc (?,?,?}) Подходит для jConnect. jTds имеет строгий синтаксический анализ, поэтому несовпадающие скобки и скобки неверны.

Не смешно.

Другие вопросы по тегам