Auto update to 2017.2.1 - SQL error when doing 'Taking a connection from the data source': no sqljdbc_auth in java.library.path

 Just did an auto-update from 2017.2 to 2017.2.1 and I'm receiving the following error on startup:

SQL error when doing 'Taking a connection from the data source': no sqljdbc_auth in java.library.path
4 comments
Comment actions Permalink
Official comment

Please do not put the native driver part into TeamCity installation directory, but rather follow our recomendations to place it into an outside directory and specify the path via environment variable like:

TEAMCITY_SERVER_OPTS=-Djava.library.path=<DIRECTORY_WITH_DLL>

If you choose to modify the TeamCity installation directory, the modifications will be lost on any update (either manual or automatic) and need to be re-applied again afterwards.

Comment actions Permalink

Figured it out. Had to copy the 'sqljdbc_auth.dll' back to the teamcity\bin directory. 

...Why?

3
Comment actions Permalink

I had the same issue now the second time in a row. The fix from Corymgibbons works really well the only thing to mention is, that you have to restart the TeamCity service after copying the sqljdbc_auth.dll.
Is this now the way to go and we have to do this every update?

1
Comment actions Permalink

Things improved in 2017.2.4, there is no longer the need to manipulate TEAMCITY_SERVER_OPTS.

Download file sqljdbc_6.4.0.0_enu.exe, running it will unpack JDBC drivers. For TeamCity's embedded JRE8, copy enu/mssql-jdbc-6.4.0.jre8.jar to C:\ProgramData\JetBrains\TeamCity\lib\jdbc\

Then, copy the enu/auth/x86/sqljdbc_auth.dll to C:\ProgramData\JetBrains\TeamCity\lib\jdbc\native\windows-i386\

Restart TeamCity service.

2

Please sign in to leave a comment.