TeamCity 9 SQL Server设置超时

时间:2015-05-04 19:02:00

标签: sql-server teamcity-9.0

我正在尝试将TeamCity 9本地设置为本地SQL Server实例并收到以下错误。

  

与主机localhost的连接,命名实例(localdb)\ v11.0失败。错误:“java.net.SocketTimeoutException:   接收超时“。验证服务器和实例名称并检查   没有防火墙阻止UDP流量到端口1434.对于SQL   Server 2005或更高版本,验证SQL Server Browser服务是否正常   在主机上运行。

     

SQL异常:与主机localhost的连接,命名实例(localdb)\ v11.0失败。错误:   “java.net.SocketTimeoutException:接收超时”。验证   服务器和实例名称,并检查没有防火墙阻止UDP   到端口1434的流量。对于SQL Server 2005或更高版本,请验证   SQL Server Browser Service正在主机上运行。

我通过SSMS测试了连接,我提供TC Web设置的凭据是相同的。登录对表有权。

使用sqljdbc41.jar

它必须简单。

谢谢!

1 个答案:

答案 0 :(得分:0)

很难知道您的环境可能存在什么问题,但我可以告诉您什么对我有用。关键项目是使用JTDS JDBC驱动程序而不是Microsoft JDBC驱动程序。

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=

注意:这要求TeamCity Windows服务在作为数据库所有者的帐户的凭据下运行。此外, ntlmauth.dll 文件需要从 JTDS zip文件\ 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