Подключение к SQL Server из Java с отключенным TCP - PullRequest
8 голосов
/ 26 января 2011

Я пытаюсь подключиться к локальной базе данных (SQL Server 2008) из Java.Я отключил соединения TCP в соответствии с требованиями клиента и не могу подключиться.Я должен также отключить службу браузера SQL Server.

Я пишу следующее утверждение на Java:

conexion = DriverManager.getConnection("jdbc:sqlserver://localhost\\SQLEXPRESS;user=user;password=password");

, и у меня появляется следующая ошибка:

msgstr "java.net.SocketTimeoutException: истекло время ожидания".(тогда он говорит мне, что, вероятно, есть брандмауэр и что я должен запустить браузер SQL Server).

Если я пытаюсь подключиться из Microsoft SQL Server Managment Studio и могу подключиться с тем жепараметры:

Server type: Database Engine
Server name: localhost\SQLEXPRESS
Authentication: SQL Server Authentication
User: user
Password: password

Я не знаю, делаю ли я что-то не так в Java, но SQL Server Managment Studio фактически является клиентом, поэтому, если он может подключиться, любой клиент должен.

Ответьте, пожалуйста.Если вам нужна дополнительная информация, просто спросите ее.

Ответы [ 2 ]

5 голосов
/ 26 января 2011

К сожалению, драйвер JDBC от Microsoft не поддерживает соединения по именованным каналам с SQLServer.Вы можете попробовать найти и использовать альтернативный драйвер JDBC.

Взгляните на jTDS .Он бесплатный, с открытым исходным кодом и подключается к SQLServer по именованным каналам.

1 голос
/ 15 февраля 2013

Я предполагаю, что вы используете версию SQL Server Express, поставляемую с Visual Studio 2010. Для других версий должны быть аналогичные решения, но я не проверял.Вот решение:

  1. Включить протокол TCP / IP. Найдите «Диспетчер конфигурации SQL Server» в меню «Пуск», разверните «Конфигурация сети SQL Server» и нажмите«Протоколы для SQLEXPRESS», дважды щелкните «TCP / IP» и измените свойство «Включено» на «Да».Откройте вкладку «IP-адреса» и включите IP-адреса, которые вы хотите использовать (обычно «127.0.0.1»).

  2. Включение пользователя sa в SQL Server. Нажмите Win + R, введите «sqlcmd -S. \ SQLEXPRESS» и выполните следующие команды:

    ALTER LOGIN sa ENABLE;
    GO
    ALTER LOGIN sa WITH PASSWORD='StrongPassword1!'
    GO
    
  3. Измените режим входа, чтобы включить явный вход в систему. Нажмите Win + R еще раз и введите «regedit», найдите следующую клавишу

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQLServer
    

    , а затем измените значение «LoginMode» на 2.

  4. Протестируйте конфигурацию. Создайте тестовое соединение в Visual Studio 2010, используйте имя пользователя "sa" и пароль "StrongPassword1!".если вы можете подключиться, вы также сможете подключиться через JDBC.

...