2012-05-09 5 views
5

У меня есть локальный MS SQL Server, и я пытаюсь подключиться к нему с помощью JTDS в java. Вот строка соединения:подключение к локальному MS SQL Server

Class.forName("net.sourceforge.jtds.jdbc.Driver"); 
Connection conn = DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/stock","sa","password"); 

И свойства сервера:
имя: USER-ПК \ SQLEXPRESS
корневой каталог C: \ Program Files \ Microsoft SQL Server \ MSSQL11.SQLEXPRESS \ MSSQL

Я получаю ошибку Exception in thread "main" java.sql.SQLException: Network error IOException: Connection refused: connect.

Как я могу это исправить?

+0

Вы искали? http://www.connectionstrings.com/ –

+0

Connectionstrings ... Service Unavailable. Ошибка 503. Сервис недоступен. –

+0

«Соединение отказало» обычно означает, что ничто не слушает на этом порту, или брандмауэр активно блокирует ваше соединение. Поскольку вы подключаетесь к localhost, я бы предположил, что первый. Попробуйте подключиться к «родному» инструменту SQL Server (например, студию управления или sqlcmd), чтобы свернуть ее до самой простой вещи, которую вы можете попробовать. –

ответ

10

Проверьте следующее:

  • Вы включили смешанный режим безопасности, то есть, так что вы можете связаться с именем пользователя/пароль (а не с помощью проверки подлинности Windows)
  • Протокол TCP/IP включена. Откройте диспетчер конфигурации SQL Server, затем в конфигурации сети SQL Server выберите «Протоколы» и «Включить TCP/IP».
  • Постарайся прохождение только одной строки GetConnection, используя этот формат:

    DriverManager.getConnection("jdbc:jtds:sqlserver://localhost:1433/stock;instance=SQLEXPRESS;user=sa;password=password") 
    
  • Если вы используете этот формат (присвоения имен экземпляра), то служба обозревателя SQL-сервера должна быть запущена (в службах). Если это выделено серым цветом, то служба, вероятно, отключена, поэтому включите ее, а затем запустите.

+0

с этим изменением ошибки теперь 'Исключение в потоке" main "java.sql.SQLException: Невозможно получить информацию от SQL Server: localhost.' – Mike

+0

У вас есть брандмауэр? –

+0

Вы определенно включили TCP/IP? См. Http://jtds.sourceforge.net/faq.html#instanceGetInfo –

0

Порт 1433 - это порт, используемый экземпляром по умолчанию. Вы используете SQLEXPRESS, который является именованным экземпляром. Строка подключения должна включать:

sqlserver://localhost\SQLEXPRESS 
0

Служба браузера SQL Server по умолчанию отключена. Если вы разрабатываете приложение .Net, вам не нужно запускать SQLBrowser, но если вы используете JTDS в java, вам понадобится его запуск.

Смежные вопросы