java - 在 Windows Server 2012 上安装 TeamCity 时出现错误 "no sqljdbc_auth in java.library.path"

标签 java windows teamcity windows-server-2012

我正在 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

  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>\lib或运行 setx 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这可能只是升级过程中的一个错误。

关于java - 在 Windows Server 2012 上安装 TeamCity 时出现错误 "no sqljdbc_auth in java.library.path",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31648367/

相关文章:

git - 如何为 TeamCIty 中的未决更改编写 git 日志

java - 如何传递调用二维数组作为参数的函数?

java - 在 JTable 的单列上显示 MySQL 数据库中的图像

java - 扩展抽象类时的组件实例化和注册

windows - windows用户配置文件目录的正确使用

c++ - 包含 windows.h : syntax error 后无法定义枚举

java - 为什么我的递归阶乘方法总是返回 0?

windows - Parallels - 在 OSx 主机中访问 Visual Studio 2012 Express 服务器

rest - 如何使用 TeamCity REST API 获取触发构建的 buildId?

configuration - 在 TeamCity 中,当前构建 ID 是否有系统/环境变量?