MS SQL Server Integrated Authentication
To configure integrated authentication for a 32-bit JVM, please contact PhixFlow Support.
Configuration
The following steps are required to enable server support for Integrated Authentication when using a 64-bit Java JVM.
1. Tomcat must be able to find the sqljdbc_auth.dll
file. This is supplied with PhixFlow, in <PHIXFLOW WEBAPP>\WEB-INF\lib64
. Set the Java option -Djava.library.path in the Tomcat configuration to tell Tomcat the location of the directory that contains this file. E.g.
-Djava.library.path=C:\app\tomcat90\webapps\phixflow\WEB-INF\lib64
2. Even though a database username and password is not used as part of an integrated authentication connection, PhixFlow still requires entries for these values in its keystore. Enter dummy values in the keystore, and make sure the corresponding aliases are entered in the phixflow-datasource.xml file - the actual values stored in the keystore do not matter, as long as the aliases match. See here for more information on the keystore: Configure a Keystore and Aliases.
3. Update the url
property in the phixflow-datasource.xml file by adding the argument integratedSecurity=true. E.g.:
<property name="url"> <value>jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=train;integratedSecurity=true</value> </property>
Troubleshooting
This driver not configured for integrated authentication
On a Windows platform, when trying to connect to SQL Server using Integrated Authentication, you may see this exception:
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication.
along with the following trace message:
com.microsoft.sqlserver.jdbc.AuthenticationJNI <clinit>
WARNING: Failed to load the sqljdbc_auth.dll
This typically indicates that the driver cannot find the appropriate sqljdbc_auth.dll in the JVM library path. To correct the problem, please make sure the java option -Djava.library.path is set to the full path of the DLL file.
Note: You may also get the same error message if the application is trying to use the incorrect architecture (x86 VS x64) version of the sqljdbc_auth.dll.
UnsatisfiedLinkError
If you get the following exception:
java.lang.UnsatisfiedLinkError: GetDNSName
This typically indicates that the application is trying to use the incorrect version (say v1.0 VS v1.1) of the sqljdbc_auth.dll. Make sure the application is using the save version of the sqljdbc.jar and sqljdbc_auth.dll files.