Getting error message "This driver is not configured for integrated authentication" when trying to connect to a Microsoft SQL Server database
Platform notice: Server and Data Center only. This article only applies to Atlassian products on the Server and Data Center platforms.
Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.
*Except Fisheye and Crucible
Summary
When trying to use the option "integratedSecurity=true" for the database connection in <bamboo-home>/bamboo.cfg.xml
:
<property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;databaseName=bamboo;integratedSecurity=true</property>
Bamboo shows in its logs (<bamboo-home>/logs/atlassian-bamboo.log)
the following error message:
This driver is not configured for integrated authentication" and doesn't establish a connection to the database.
Environment
Observed in Bamboo 6 connected to a Microsoft SQL Server Database.
Diagnosis
Looking at the Bamboo logs (<bamboo-home>/logs/atlassian-bamboo.log
), messages similar to the following can be seen:
2017-06-22 10:52:35,163 ERROR [localhost-startStop-1] [AbstractUpgradeManager] java.lang.RuntimeException: java.sql.SQLException: Connections could not be acquired from the underlying database!
java.lang.RuntimeException: java.sql.SQLException: Connections could not be acquired from the underlying database!
at com.google.common.base.Throwables.propagate(Throwables.java:160)
at com.atlassian.bamboo.upgrade.AbstractBootstrapUpgradeTask.getDatabaseConnection(AbstractBootstrapUpgradeTask.java:47)
…
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:0147495a-6902-4d38-8253-3cf3287759df
at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1748)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<init>(AuthenticationJNI.java:58)
…
Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.microsoft.sqlserver.jdbc.AuthenticationJNI.<clinit>(AuthenticationJNI.java:32)
Cause
SQL Server Integrated Authentication isn't natively supported in Bamboo 6.0.x since the transition to Microsoft JDBC from JTDS.
-
BAM-18494Getting issue details...
STATUS
Integrated authentication allows the driver to log in to the database server using Windows / Domain authentication. The credentials are assumed from the Bamboo Service user. For more details check this Microsoft page.
Solution
This workaround assumes the relevant attributes have already been added to the JDBC connection string in <bamboo-home>/bamboo.cfg.xml. E.g.:
<property name="hibernate.connection.url">jdbc:sqlserver://localhost:1433;databaseName=bamboo;integratedSecurity=true</property>
- Check
<
BAMBOO_INSTALL>\lib\
to find which version of the Microsoft SQL driver is bundled. For example, Bamboo 9.0 ships with mssql-jdbc-9.4.0.jre8.jar; - Find the relevant release for the Microsoft JDBC driver downloads for that version: https://github.com/microsoft/mssql-jdbc/releases;
- Download the mssql-jdbc_auth.zip for the release that matches the version bundled with Bamboo;
- Copy the relevant DLL for your platform from the archive (e.g. x86 vs x64);
- Place it in a location on the java.library.path. For Windows, this is a location on your
%PATH%
environment variable or<bamboo-install>\bin
; - Restart Bamboo.