Product: TIBCO Spotfire®
Error while launching 'uiconfig' tool in 'spotfireconfigtool' folder when Spotfire database (Microsoft SQL Server) setup with Integrated Windows authentication.
In Spotfire server 10.3.9, when Spotfire server database setup with Integrated Windows authentication, you may come across below error when you launch configuration tool (uiconfig.bat) from remote server configuration folder ('spotfireconfigtool' folder) :
You may also see below error in tools.log file located under remote server configuration folder ('spotfireconfigtool\logs' folder)
ERROR 2020-05-04T11:36:32,950+0800 tools.confui.ExternalAuthConfigModel: Could not connect to the Spotfire Server database
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:990cd951-2fe1-4de1-9748-732f17a34587
Caused by: java.lang.UnsatisfiedLinkError: no mssql-jdbc_auth-8.2.2.x64 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source) ~[?:1.8.0_144]
at java.lang.Runtime.loadLibrary0(Unknown Source) ~[?:1.8.0_144]
at java.lang.System.loadLibrary(Unknown Source) ~[?:1.8.0_144]
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:51) ~[mssql-jdbc-8.2.2.jre8.jar:?]
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3764) ~[mssql-jdbc-8.2.2.jre8.jar:?]
When it comes to the remote config tool it doesn't include the native library (and never has) so it doesn't work with integrated authentication.
In Spotfire server 10.3.7 (and earlier versions) we bundled a file called sqljdbc_auth.dll with Spotfire server installation. In 10.3.9 we upgraded the Microsoft JDBC driver and with that we had changed the name of the file. It's now called mssql-jdbc_auth-8.2.2.x64.dll instead and we bundle this new file. To resolve above error, below is the work around :
You need to copy above mentioned 'mssql-jdbc_auth-8.2.2.x64.dll' file to C:\Windows\System32 or "<JDK installation directory>\jre\bin" folder because the 'lib' folder in the remote config tool isn't included in the java library path (only in the class path).