Database Management

Encrypt the password that DPA uses to connect to a monitored Sybase database instance

In DPA 2020.2.1 and later, complete the following steps to encrypt the password that DPA uses to connect to a Sybase monitored database instance.

First published date

8/18/2020 9:59 PM

Last published date

8/5/2025 11:15 PM

Overview

In DPA 2020.2.1 and later, you can encrypt the password that DPA uses to connect to a Sybase monitored database instance. To support password encryption for Sybase monitoring, the jConnect driver has to be used instead of the jTDS driver. By default, DPA uses the jTDS driver.

Be aware that using the jConnect driver has the following limitations because of an issue with the driver: 

  • Oracle cannot be used as the DPA repository when a jConnect Sybase driver is used.
  • DPA cannot monitor Oracle database instances when a jConnect Sybase driver is used.

When an Oracle driver is picked up in the Classpath before the Sybase driver it causes this error even if not loaded/called in the code:

Exception in thread "main" java.lang.NoClassDefFoundError: Could not initialize class oracle.jdbc.OracleDriver
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:398)
at java.sql/java.sql.DriverManager.isDriverAllowed(DriverManager.java:555)
at java.sql/java.sql.DriverManager.isDriverAllowed(DriverManager.java:547)
at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:449)
at java.sql/java.sql.DriverManager.getDrivers(DriverManager.java:426)
at com.sybase.jdbc4.jdbc.SybDriver.registerWithDriverManager(SybDriver.java:710)
at com.sybase.jdbc4.jdbc.SybDriver.<init>(SybDriver.java:141)
at com.sybase.jdbc4.jdbc.SybDriver.<clinit>(SybDriver.java:105)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:315)
at Library.Database.Test.main(Test.java:29)

For more information, see https://userapps.support.sap.com/sap/support/knowledge/en/2827462.

Product section

Database Performance Analyzer

Resolution

To switch to the jConnect Sybase driver and specify password encryption, complete the following steps:

  1. Log in to your DPA server as an administrator.
  2. Stop DPA.
  3. Open the following file in a text editor:

    <dpa_directory>\iwc\tomcat\ignite_config\idc\system.properties

    By default, the DPA directory is C:\Program Files\SolarWinds\DPA.

  4. Add the following line to the end of the file:

    com.confio.ignite.jdbc.sybase.useJConnectDriver=true

  5. Download the jConnect driver version 16.0. SP02 PL05 or 16.0 SP03 PL07. (DPA was tested with these versions.) You can usually find the jConnect driver in your Sybase installation folder.
  6. Create a folder called lib in the following directory:

    <dpa directory>\iwc\tomcat\ignite_config

  7. Add the downloaded jconn4.jar into the \lib directory.
  8. If your DPA server runs on Windows and you upgraded from an earlier version to DPA 2020.2.1 or later, recreate the service by running <dpa directory>\removeWindowsService.bat and then <dpa directory>\createWindowsService.bat.

    If your DPA server runs on Linux or you have a new installation of DPA 2020.2.1 or later, skip this step.

  9. Start DPA.
  10. When you register a Sybase database instance, do one of the following:
    • If you use the registration wizard, click "Advanced Option Properties" on the second step of the wizard and add the following line to the Connection Properties:

      ENCRYPT_PASSWORD=true

    • If you use mass registration, enter the following in the Additional Connection Properties column:

      ENCRYPT_PASSWORD=true

    • If you register instances with the API, include the following in the JSON post body:

      "connectionProperties": "ENCRYPT_PASSWORD=TRUE"