[英]Error "no sqljdbc_auth in java.library.path" installing TeamCity on Windows Server 2012
我正在 Windows 2012 服务器上安装 TeamCity。 我在数据库连接设置屏幕但收到此错误。
“执行时出现 SQL 错误:从数据源获取连接:java.library.path 中没有 sqljdbc_auth”
我已将sqljdbc_auth.dll
复制到C:\\Windows\\System32
文件夹并添加了一个指向此文件夹的系统环境变量java.library.path
。
即使您在 64 位平台上,Teamcity 也会安装 32 位版本,除非您故意使用 64 位。 因此,我将向您提供有关在 Teamcity SQL 数据库设置中使用 Windows 身份验证的 32 位说明。 64 位设置的说明相同,只需将 x86 更改为 x64
<TeamCity_data_dir>\\lib\\jdbc\\sqljdbc42.jar
auth\\x86\\sqljdbc_auth.dll
从 Microsoft 下载复制到<TeamCity_data_dir>\\lib\\sqljdbc_auth.dll
-Djava.library.path=<TeamCity_data_dir>\\lib
或运行setx TEAMCITY_SERVER_OPTS=-Djava.library.path=<TeamCity_data_dir>\\lib
现在您可以使用 Windows 身份验证将 Teamcity 连接到 SQL 服务器,然后向导将创建数据库。
对于 2019.2.1 更新,我不得不将 sql_jdbcauth.dll 文件移动到<TeamCity_data_dir>\\system\\caches\\jdbc\\native\\windows-i386
这可能只是升级过程中的一个错误。
我设法通过在数据库配置设置期间使用 SQL Server 身份验证而不是 Windows 身份验证来解决该问题。 不知道为什么这应该修复错误,因为它与 Java 环境变量有关,但我只能假设错误是由于无法登录数据库而产生的,并且由于某种原因引发了一个无关的错误。
这似乎是 TeamCity 抛出错误错误消息的错误。 如果出现此错误,请尝试切换到 SQL Server 身份验证。
如果您在 32 位上运行,您只需将sqljdbc_auth.dll
的 x86 版本(从 jdbc 下载)复制到<TeamCityProgramDir>\\bin
。
您应该检查您的 TeamCity 服务器日志。 我的(位于c:\\TeamCity\\logs\\teamcity-server.log
)提到以下内容:
[2019-03-20 07:54:56,045] 信息 - jetbrains.buildServer.STARTUP - 在 E:\\BuildServer\\lib\\jdbc\\native\\windows-i386 或 E:\\BuildServer\\ 下找不到本机库 sqljdbc_auth.dll lib\\jdbc\\native; 将继续查找 sun.boot.library.path 和 java.library.path。
将sqljdbc_auth.dll
库放入E:\\BuildServer\\lib\\jdbc\\native\\windows-i386
并重新启动服务后一切正常; 无需干预bin
文件夹(它们会在 TC 升级期间重置)或定义环境变量。
在我的情况下,它不起作用,因为以前安装的一些文件和版本 TeamCity istallation。 我卸载了 TeamCity,删除了所有 TeamCity 文件夹并重新安装。 然后它就像一个魅力。
我今天在使用捆绑 Java 的 TeamCity 10.x 时遇到了这个问题,我想将现有的内部数据库迁移到 SQL Server。
TEAMCITY_SERVER_OPTS
的新系统环境变量,其值为-Djava.library.path=C:\\ProgramData\\JetBrains\\TeamCity\\lib
。TEAMCITY_MAINTAINDB_OPTS
系统环境变量,具有相同的值( -Djava.library.path=C:\\ProgramData\\JetBrains\\TeamCity\\lib
)。现在您可以运行MaintainDB 而不会出现sqljdbc_auth.dll 不在JAVA 库路径中的错误。
请参阅通过维护数据库命令行工具创建备份 - 维护数据库启动选项,了解为什么需要设置这两个环境变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.