Msgstr "Неверный оператор SQL или escape JDBC, заканчивающийся '}' не найден." с jTDS и Sybase - PullRequest
0 голосов
/ 13 апреля 2010

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

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

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

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

Спасибо.

1 Ответ

0 голосов
/ 13 апреля 2010

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

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

Не весело.

...