SICSE-6148 - SQL Server JDBC driver replacement

less than 1 minute read

The SQL Server jTDS JDBC Driver has been replaced by Microsoft JDBC Driver.

Please read the instructions in /conf/sics-database-sources.xml.

Driver class name has changed

SQL Server database <source> definitions need to change the driver class name in the <driver> element to com.microsoft.sqlserver.jdbc.SQLServerDriver.

Example:

<source name="SQLServer">
	<driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
	
	<accessor>com.csc.troll.accessor.JDBCDatabaseAccessor</accessor>
	<interface>com.csc.troll.accessor.SQLServer2000Interface</interface>
	
	<dataSource>jdbc:sqlserver://hostname;sendStringParametersAsUnicode=false;selectMethod=cursor</dataSource>
	
	<useParameterizedSql>true</useParameterizedSql>
	<statementCacheSize>100</statementCacheSize>
</source>

SQL Server Windows Authentication (aka ‘Database remote OS authentication’ in SICS) with Microsoft JDBC Driver

In order to use SQL Server Windows Authentication, the integratedSecurity property (URL parameter) must be set to true (;integratedSecurity=true) on the <datasource> URL.

Example:

<source name="SQLServer">
	<driver>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver>
	
	<accessor>com.csc.troll.accessor.JDBCDatabaseAccessor</accessor>
	<interface>com.csc.troll.accessor.SQLServer2000Interface</interface>
	
	<dataSource>jdbc:sqlserver://hostname;sendStringParametersAsUnicode=false;selectMethod=cursor;integratedSecurity=true</dataSource>
	
	<useParameterizedSql>true</useParameterizedSql>
	<statementCacheSize>100</statementCacheSize>
</source>

If some logins use Windows authentication and other logins use SQL Server authentication (userid and password), then it will be necessary to define two database <source> definitions, one with and the other without, integratedSecurity.