我正在 Windows 2012 服务器上安装 TeamCity。我在数据库连接设置屏幕上,但收到此错误。
"SQL error when doing: Taking a connection from the data source: no sqljdbc_auth in java.library.path"
我已经将 sqljdbc_auth.dll
复制到 C:\Windows\System32
文件夹并添加了一个系统环境变量 java.library.path
指向这个文件夹。
最佳答案
即使您在 64 位平台上,Teamcity 也会安装 32 位版本,除非您有意使用 64 位。因此,我将向您提供有关在 Teamcity SQL 数据库设置中使用 Windows 身份验证的 32 位说明。 64 位设置的说明相同,只需将 x86 更改为 x64
- 在 SQL Server 中创建一个空数据库
- 确保在 TeamCity 服务上配置的 Windows 帐户可以访问数据库
- 将sqljdbc42.jar复制到
<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
或运行setx TEAMCITY_SERVER_OPTS=-Djava.library.path=<TeamCity_data_dir>\lib
- 在所有对话框中单击确定并重新启动 Teamcity 服务。
现在您可以使用 Windows 身份验证将 Teamcity 连接到 SQL 服务器,之后向导将创建数据库。
编辑:2020 年 1 月 27 日
在 2019.2.1 更新中,我不得不将 sql_jdbcauth.dll 文件移动到 <TeamCity_data_dir>\system\caches\jdbc\native\windows-i386
这可能只是升级过程中的一个错误。
关于java - 在 Windows Server 2012 上安装 TeamCity 时出现错误 "no sqljdbc_auth in java.library.path",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31648367/