错误“java.library.path 中没有sqljdbc_auth”在 Windows Server 2012 上安装 TeamCity

我正在 Windows 2012 Server 上安装 TeamCity。我处于数据库连接设置屏幕,但收到此错误。

“执行时的 SQL 错误:从数据源获取连接:java.library.path 中没有sqljdbc_auth”

我已将 复制到该文件夹,并添加了指向此文件夹的系统环境变量。sqljdbc_auth.dllC:\Windows\System32java.library.path


答案 1

即使您使用的是 64 位平台,Teamcity 也会安装 32 位版本,除非您特意使用 64 位。因此,我将只为您提供有关在 Teamcity SQL 数据库设置中使用 Windows 身份验证的 32 位指令。64 位设置的说明相同,只需将 x86 更改为 x64

  1. 在 SQL Server 中创建空数据库
  2. 确保在 TeamCity 服务上配置的 Windows 帐户有权访问数据库
  3. 将 sqljdbc42.jar 复制到<TeamCity_data_dir>\lib\jdbc\sqljdbc42.jar
  4. 从微软下载复制到auth\x86\sqljdbc_auth.dll<TeamCity_data_dir>\lib\sqljdbc_auth.dll
  5. 打开“系统>高级系统设置>环境变量”,并添加一个系统变量TEAMCITY_SERVER_OPTS设置为该值或运行-Djava.library.path=<TeamCity_data_dir>\libsetx TEAMCITY_SERVER_OPTS=-Djava.library.path=<TeamCity_data_dir>\lib
  6. 在所有对话框中单击确定,然后重新启动 Teamcity 服务。

现在,您可以使用 Windows 身份验证将 Teamcity 连接到 SQL 服务器,之后向导将创建数据库。

编辑:2020年1月27日

在2019.2.1更新中,我不得不将sql_jdbcauth.dll文件移动到这可能只是升级过程中的一个错误。<TeamCity_data_dir>\system\caches\jdbc\native\windows-i386


答案 2

http://www.mikeobrien.net/blog/teamcity-sqlserver-integrated-security

帮了我大忙。

我使用的是 JDBC 4.1 版本。


推荐