Using ESM Database Conversion tool (DBConvert) with Java 8 and JDBC driver

book

Article ID: 184248

calendar_today

Updated On:

Products

Symantec Products

Issue/Introduction

You use the DBConvert tool to transfer the MBC data stored on your CCS managers or ESM managers to an external relational database. With Java 7 and earlier, you could use an ODBC driver, which would work through Java's JDBC-ODBC bridge to connect to an ODBC compliant external database. However, in Java 8, the JDBC-ODBC bridge is removed. If you upgrade to Java 8 and continue to use an ODBC driver, the DBConvert tool stops working.

Resolution

Oracle recommends that you use JDBC drivers that are provided by the database vendor instead of using the JDBC-ODBC bridge. For more information, refer to the documentation published at the following location:

http://docs.oracle.com/javase/7/docs/technotes/guides/jdbc/bridge.html

For information about the potential incompatibilities relating to JDK 8, refer to the following page:

http://www.oracle.com/technetwork/java/javase/8-compatibility-guide-2156366.html

For Microsoft SQL Server, we confirm that the DBConvert tool works fine with the Microsoft JDBC Driver 4.2 for SQL Server or later. For information about the Microsoft JDBC Driver for SQL Server Support Matrix, refer to the following page:

https://docs.microsoft.com/en-us/sql/connect/jdbc/microsoft-jdbc-driver-for-sql-server-support-matrix

We have provided all the information about the DBConvert tool in the About using the Database Conversion tool section in the Symantec Enterprise Security Manager User Guide (Version 11.0).

To connect a JDBC driver (Java 8) to the external relational database, you must use the following parameters (instead of the jdbc.datasource) in the property file for the DBConvert tool:

Parameter Description
Property file parameters (instead of jdbc.datasource)
jdbc.driver
  1. Download the JDBC driver for the destination database from the vendor’s website. For example, download the Microsoft JDBC Driver 4.2 for SQL Server from the following location:

https://www.microsoft.com/en-us/download/details.aspx?id=54671

  1. Save the driver in the same directory with the dbconvert.jar file.
  2. In the vendor documentation, find the class name for the downloaded driver. This is a case-sensitive value of this parameter.
jdbc.url

This parameter specifies the location of the destination database for the DBConvert tool. Follow the exact syntax of a database connection URL as specified by your DBMS. To know the database connection URL syntax for MS SQL Server, refer to the following page:

https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url

 

 

 

 

 

 

 

 

 

 

The format of your property file, which contains both the parameters (including other parameters that are mentioned in the About the parameters for the Database Conversion tool section in the Symantec Enterprise Security Manager User Guide Version 11.0) must be similar to the following:

esm.managers=gs0300 gs0400
gs0300.user=security officer
gs0300.password=my3pass+
gs0400.user=security officer
gs0400.password=my4pass+
jdbc.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
jdbc.url=jdbc:sqlserver:// GS0500;database=REPORTS
jdbc.user=user1453
jdbc.password=secret7

‘The server failed to resume the transaction…’ error

When you convert data for ESM policies by using JDBC driver in Java 8, you may see an error message similar to the following:

Unable to convert check name values
The server failed to resume the transaction. <transaction ID>.

However, all the data of ESM policies is converted to the database. The error message is listed as a warning in the Database Conversion tool logs.
For more information about the cause of the error message and a way to avoid this error message, refer to the article published at the following location:
https://blogs.msdn.microsoft.com/jdbcteam/2009/02/24/the-server-failed-to-resume-the-transaction-why/