Тайм-ауты установки TeamCity 9 SQL Server

Я пытаюсь настроить TeamCity 9 локально для локального экземпляра SQL Server и получаю следующую ошибку.

Не удалось подключиться к узлу localhost с именем instance (localdb)\v11.0. Ошибка: "java.net.SocketTimeoutException: истекло время ожидания". Проверьте имена серверов и экземпляров и убедитесь, что ни один брандмауэр не блокирует трафик UDP на порт 1434. Для SQL Server 2005 или более поздней версии убедитесь, что на хосте запущена служба браузера SQL Server.

Исключение SQL: не удалось установить соединение с локальным хостом с именем instance (localdb)\v11.0. Ошибка: "java.net.SocketTimeoutException: истекло время ожидания". Проверьте имена серверов и экземпляров и убедитесь, что ни один брандмауэр не блокирует трафик UDP на порт 1434. Для SQL Server 2005 или более поздней версии убедитесь, что на хосте запущена служба браузера SQL Server.

Я проверил соединение через SSMS, и учетные данные, которые я предоставляю, настроены на веб-сайте TC, то же самое. У логина есть права на таблицу.

Использование sqljdbc41.jar

Это должно быть что-то простое.

Спасибо!

1 ответ

Трудно понять, что может быть проблемой с вашей средой, но я могу рассказать вам, что сработало для меня. Ключевым моментом было использование драйвера JTDS JDBC, а не драйвера JDBC Microsoft.

Загрузите последнюю версию драйвера с http://jtds.sourceforge.net/

Распакуйте загруженный zip-файл в папку%TEAMCITY_DATA_PATH%/config

Если вы используете проверку подлинности NTLM (т.е. Windows) для подключения к вашей базе данных, укажите следующее для файла database.properties:

# Database: Microsoft SQL server (via jtds driver)   
connectionUrl=jdbc:jtds:sqlserver://localhost:1433/TeamCity
#connectionProperties.user=
#connectionProperties.password=

ПРИМЕЧАНИЕ. Для этого требуется, чтобы служба Windows TeamCity работала под учетными данными учетной записи, которая является владельцем базы данных. Кроме того, файл ntlmauth.dll необходимо скопировать из zip-файла JTDS \x86\SSO в папку TeamCityHome\bin.

Если вы используете аутентификацию SQL для подключения к вашей базе данных, укажите следующее для файла database.properties:

# Database: Microsoft SQL server (via jtds driver)   
connectionUrl=jdbc:jtds:sqlserver://localhost:1433/TeamCity
connectionProperties.user=<SQL Login Name>
connectionProperties.password=<SQL Login Password>

Поскольку у драйвера JTDS нет используемого по умолчанию порта, необходимо указать порт в значении, указанном для connectionUrl.

Если вы используете именованный экземпляр, вы можете указать имя экземпляра следующими способами:

Например, если имя экземпляра - sqlexpress, либо добавьте свойство экземпляра в URL-адрес подключения, как показано ниже:

connectionUrl=jdbc:jtds:sqlserver://localhost:1433/TeamCity;instance=sqlexpress

Или укажите соответствующее свойство в файле database.properties:

connectionProperties.instance=sqlexpress

Смотрите также: http://confluence.jetbrains.com/display/TCD9/Setting+up+an+External+Database

Другие вопросы по тегам