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. Update the url
property in the phixflow-datasource.xml file by adding the argument integratedSecurity=true. E.g.:
<property name="driverClassName"> <value>com.microsoft.sqlserver.jdbc.SQLServerDriver</value> </property> <property name="url"> <value>jdbc:sqlserver://localhost\SQLEXPRESS;databaseName=train;integratedSecurity=true</value> </property> <!—The username and password are no longer needed --> <!-- <property name="username"><value>train</value></property> --> <!-- <property name="password"><value>train</value></property> -->
3. Start up Tomcat and log into PhixFlow as normal.
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.