我正在Windows 2012 Server上安装TeamCity。 我在数据库连接设置屏幕,但得到这个错误。
“执行SQL时出错:从数据源取得连接:java.library.path中没有sqljdbc_auth”
我已经将sqljdbc_auth.dll
复制到C:\Windows\System32
文件夹,并添加了一个指向此文件夹的系统环境variablesjava.library.path
。
在数据库配置设置期间,我设法通过使用SQL server身份验证而不是Windows身份验证来解决此问题。 不知道为什么这应该已经解决了错误,因为它涉及到一个Java环境变量,但我只能假设错误是由于它登录到数据库失败,并由于某种原因抛出一个不相关的错误,而不是产生。
这似乎是TeamCity抛出错误的错误信息的错误。 如果出现此错误,请尝试切换到SQL server身份验证。
即使您在64位平台上,Teamcity也会安装32位版本,除非您故意使用64位。 所以我只是想给你使用Windows身份验证和Teamcity SQL数据库设置的32位指令。 这些指令对于64位设置是相同的,只需将x86更改为x64即可
<TeamCity_data_dir>\lib\jdbc\sqljdbc42.jar
auth\x86\sqljdbc_auth.dll
复制到<TeamCity_data_dir>\lib\sqljdbc_auth.dll
TEAMCITY_SERVER_OPTS=-Djava.library.path=<TeamCity_data_dir>\lib
现在,您可以使用Windows身份验证将Teamcity连接到SQL服务器,然后向导将创建数据库。
如果您使用的是32位版本,则可以将x86版本的sqljdbc_auth.dll
(从jdbc下载)复制到<TeamCityProgramDir>\bin
。
在我的情况下,它没有奏效,因为有一些从以前的安装和版本TeamCity isntallation文件。 我卸载了TeamCity,删除了所有TeamCity文件夹并重新安装。 然后它就像一个魅力。