2016-09-19 3 views
1

Я пытаюсь выполнить следующий фрагмент SQL на SQL Server 2012, используя программу Java, подключение к базе данных с помощью драйвера JTDS:Причина «Недопустимый синтаксис escape JDBC в строке 24» = «ожидаемая символом» при выполнении вызова SQL Server через драйвер JTDS?

Declare @username varbinary(128); 
SET @username=convert(varbinary(128), ?); 
SET CONTEXT_INFO @username; 

Я всегда получаю следующее сообщение об ошибке:

Invalid JDBC escape syntax at line position 24 '=' character expected.

Любые идеи?

+0

Любой причину, почему вы хотите использовать только 'драйвер JTDS'? Вместо этого используйте 'sqljdbc4.jar'! –

+0

Я не могу воссоздать вашу проблему, используя [этот код] (http://pastebin.com/ReU2b8yf) с jTDS 1.3.1 и Java 8. –

ответ

1

Я считаю, что вам не хватает цитаты помечают вокруг ?

SET @username=convert(varbinary(128), '?'); 
+0

, что может быть проблемой, но это не является причиной этой проблемы (Я только что протестировал его) – Sloppy

+1

попробуйте запустить эти 3 строки, прямо в sql-сервере через студию управления, проверьте, что они работают –

+0

Они делают! Пока я просто собираюсь сделать процедуру, которая содержит эти три строки, и вместо этого назовите это. Я думаю, что это проблема с разбором в драйвере jtds. – Sloppy