Тайм-ауты установки 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