I am installing TeamCity on a Windows 2012 Server. I'm at the database connection setup screen but getting this error.
"SQL error when doing: Taking a connection from the data source: no sqljdbc_auth in java.library.path"
I've copied the sqljdbc_auth.dll
to the C:\Windows\System32
folder and added a system environment variable java.library.path
that points to this folder.
Teamcity installs the 32-bit version even if you're on a 64-bit platform unless you deliberately use 64-bit. So I am just going to give you the 32-bit instructions for using Windows authentication with Teamcity SQL database setup. The instructions are the same for the 64-bit setup, just change x86 to x64
<TeamCity_data_dir>\lib\jdbc\sqljdbc42.jar
auth\x86\sqljdbc_auth.dll
from the Microsoft download to <TeamCity_data_dir>\lib\sqljdbc_auth.dll
-Djava.library.path=<TeamCity_data_dir>\lib
or run setx TEAMCITY_SERVER_OPTS=-Djava.library.path=<TeamCity_data_dir>\lib
Now you can connect Teamcity to the SQL server using Windows Authentication after which the wizard will create the database.
With the 2019.2.1 update I've had to move the sql_jdbcauth.dll file to <TeamCity_data_dir>\system\caches\jdbc\native\windows-i386
This could be just a bug in the upgrade process.
You should check your TeamCity server log. Mine (located at c:\TeamCity\logs\teamcity-server.log
) mentions the following:
[2019-03-20 07:54:56,045] INFO - jetbrains.buildServer.STARTUP - Native library sqljdbc_auth.dll was not found under either E:\BuildServer\lib\jdbc\native\windows-i386 or E:\BuildServer\lib\jdbc\native; will continue looking in sun.boot.library.path and java.library.path.
After putting the sqljdbc_auth.dll
library in E:\BuildServer\lib\jdbc\native\windows-i386
and restarting the service everything was fine and dandy; without having to meddle with bin
folders (they get reset during TC upgrades) or having to define environment variables.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With