Limitations of Microsoft SQL Server JDBC driver when publishing to a remote WebSphere server

There is a known problem that when publishing to a remote WebSphere server using a Microsoft SQL JDBC driver, you may get the following error, which prevents you from making a database connection:

SystemOut     O [Microsoft][SQLServer 2000 Driver for JDBC]Error opening/loading com.microsoft.util.transliteration.properties.

SystemErr     R java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC]Error opening/loading com.microsoft.util.transliteration.properties.

To work around this problem:

  1. Copy the following Microsoft SQL Server JAR files to the WAS_installdir\AppServer\lib folder (where WAS_installdir is the directory where WebSphere Application Server is installed:

    • msbase.jar

    • mssqlserver.jar

    • msutil.jar

  2. If you want the JAR files located elsewhere:

    1. Open the following directory: WAS_installdir\AppServer\properties.

    2. Edit the server.policy file and change the permissions for the JAR files to read access, for example:
      // Drivers and other system classes should be stored in this  
      
      // code base. 
      
      grant codeBase "file:${was.install.root}/lib/system/-" { 
      
          permission java.security.AllPermission; 
      
      permission java.io.FilePermission 
      
      "${was.install.root}${/}lib${/}system${/}msbase.jar", "read"; 
      
      permission java.io.FilePermission 
      
      "${was.install.root}${/}lib${/}system${/}msutil.jar", "read"; 
      
      permission java.io.FilePermission 
      
      "${was.install.root}${/}lib${/}system${/}mssqlserver.jar", "read";