2013-10-24 2 views
9

Я использую драйвер jTDS в приложении Java. Администратор базы данных сообщил мне, что имя экземпляра сервера SQL являетсяСтрока подключения jTDS: подключение к экземпляру MS SQL Server с обратной косой чертой

MSSQL-DB09v1\v1

Как я должен написать URL соединения?

Я использую что-то вроде

jdbc:jtds:sqlserver://server-name/database_name 

в течение некоторого времени, и это работает хорошо, но не знаю строку правильного подключения, когда имя экземпляра содержит обратную косую черту.

ответ

22

Проведено дальнейшее исследование и испытания. Обнаруженные правильная строка подключения URL в данном случае:

jdbc:jtds:sqlserver://server-name/database_name;instance=instance_name 

В моем случае строка соединения:

jdbc:jtds:sqlserver://server-name/MSSQL-DB09v1;instance=v1 

См jTDSFAQs для более подробной информации

+1

я, спасибо. в моем случае имя хоста было похоже на MSSQL-DB09v1 \ v1, обратная косая черта. Избежать этого в java не получилось. – thirdy

3

У меня был подобный случай где мой DBA дал мне базу данных на сервере со следующим подключением: {SERVER_NAME}\{INSTANCE}. Этот синтаксис работал при подключении к серверу и экземпляру с использованием SSMS, но он не работал при подключении через драйвер Java.

Вместо этого следующий синтаксис работал для меня:

jdbc:jtds:sqlserver://{SERVER_NAME};databaseName={DATABASE_NAME);instance={INSTANCE}

Обратите внимание, что я должен был переместить экземпляр параметра строки подключения. Как только я это сделал, все сработало хорошо.

Для справки см. this specific JTDS FAQ.