Changing the Database Driver of the eG Backend from jTDS to Microsoft SQL JDBC Driver

By default, the eG backend on Oracle / Microsoft SQL / Amazon RDS instance uses the jTDS driver. After the eG manager is fully installed and configured, you can, if you so want, manually reconfigure the eG database to use the Microsoft SQL JDBC driver instead.

The broad steps for achieving this are as follows:

  1. Stop the eG manager.

  2. Login to the system hosting the eG manager.

  3. Take a backup of the eg_db.ini file in the <EG_MANAGER_INSTALL_DIR>\manager\config directory (on Windows; on Unix, this will be the /opt/egurkha/manager/config directory).

  4. Next, edit the eg_db.ini file and look for the following jTDS entries:

    drivers=net.sourceforge.jtds.jdbc.Driver

    sql.driver=net.sourceforge.jtds.jdbc.Driver

     

    Replace the above entries with the following JDBC entries:

    drivers=com.microsoft.sqlserver.jdbc.SQLServerDriver

    sql.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver

  5. Modify the sql.url parameter in the eg_db.ini file based on the authentication method and encryption requirements of your SQL Server environment, as tabulated below:

    Authentication / Encryption Method Used

    Entries to be Replaced

    Replaced With

    SQL Authentication – SSL Enabled (Port-based)

    jdbc:jtds:sqlserver:/<DB_IP_Address>:<DB_Port>/DBName;ssl=require;prepareSQL=3;

    useCursors=false;bufferMaxMemory=102400;

    tcpNoDelay=true;lobBuffer=524288;

    packetSize=8192;bufferMinPackets=32;

    socketKeepAlive=true;

    loginTimeout=180;socketTimeout=300;

    sendStringParametersAsUnicode=false

    jdbc:sqlserver://<DB_IP_address>:<Port-No>;databaseName=<Database-name>;encrypt=true;trustServerCertificate=true

    For instance:

    jdbc:sqlserver://172.16.14.147:1433;databaseName=Jeevi_24-12-25;encrypt=true;trustServerCertificate=true

    SQL Authentication – SSL Enabled (Instance-based)

    jdbc:jtds:sqlserver://<DB_IP_Address>/

    <DB_Name>;INSTANCE=<Instance_Name>;

    ssl=require;prepareSQL=3;useCursors=false;

    bufferMaxMemory=102400;tcpNoDelay=true;lobBuffer=524288;

    packetSize=8192;bufferMinPackets=32;socketKeepAlive=true;

    loginTimeout=180;socketTimeout=300;sendStringParametersAsUnicode=false

    jdbc:sqlserver://<DB_IP_address>;instanceName=<DB_Instance_name>;databaseName=<Database-name>;encrypt=true;trustServerCertificate=true

    For instance:

    jdbc:sqlserver://172.16.14.147;instanceName=MSSQLSERVER1;databaseName=Jeevi_24-12-25;encrypt=true;trustServerCertificate=true

    SQL Authentication – Non-SSL (Port-based)

    jdbc:jtds:sqlserver://<DB_IP_Address>:<DB_Port>/

    <DB_Name>;prepareSQL=3;useCursors=false;

    bufferMaxMemory=102400;tcpNoDelay=true;

    lobBuffer=524288;packetSize=8192;bufferMinPackets=32;

    socketKeepAlive=true;loginTimeout=180;

    socketTimeout=300;sendStringParametersAsUnicode=false

    jdbc:sqlserver://<DB_IP_address>:<DB_Port>;databaseName=<Database_name>;encrypt=false

    For instance:

    jdbc:sqlserver://172.16.14.147:1433;databaseName=Jeevi_24-12-25;encrypt=false

    SQL Authentication – Non-SSL (Instance-Based)

    jdbc:jtds:sqlserver://<DB_IP_Address>/

    <DB_Name>;INSTANCE=<Instance_Name>;

    prepareSQL=3;useCursors=false;bufferMaxMemory=102400;

    tcpNoDelay=true;lobBuffer=524288;packetSize=8192;

    bufferMinPackets=32;socketKeepAlive=true;loginTimeout=180;

    socketTimeout=300;sendStringParametersAsUnicode=false

    jdbc:sqlserver://<DB_IP_Address>;instanceName=<Instance_name>;databaseName=<Database-name>;encrypt=false

    For instance:

    jdbc:sqlserver://172.16.14.147;instanceName=MSSQLSERVER1;databaseName=Jeevi_24-12-25;encrypt=false

    Windows Authentication – SSL Enabled (Port-based)

    jdbc:jtds:sqlserver://<DB_IP_Address>:<DB_Port>/J<Database_Name>;

    ssl=require;prepareSQL=3;useCursors=false;bufferMaxMemory=102400; tcpNoDelay=true;lobBuffer=524288;packetSize=8192;

    bufferMinPackets=32;socketKeepAlive=true;loginTimeout=180;

    socketTimeout=300;sendStringParametersAsUnicode=false

    jdbc:sqlserver://<DB_IP_Address>:<DB_Port>;databaseName=<Database_Name>;integratedSecurity=true;encrypt=true;trustServerCertificate=true;authenticationScheme=NTLM

    For instance:

    jdbc:sqlserver://172.16.14.147:1433;databaseName=Jeevi_26-12-25;integratedSecurity=true;encrypt=true;trustServerCertificate=true;authenticationScheme=NTLM

    Windows Authentication – SSL Enabled (Instance-based)

    jdbc:jtds:sqlserver://<DB_IP_Address>/<Database_Name>;

    INSTANCE=<Instance_Name>;ssl=require;prepareSQL=3;

    useCursors=false;bufferMaxMemory=102400;tcpNoDelay=true;

    lobBuffer=524288;packetSize=8192;bufferMinPackets=32;

    socketKeepAlive=true;loginTimeout=180;socketTimeout=300;

    sendStringParametersAsUnicode=false

    jdbc:sqlserver://<DB_IP_Address>;instanceName=<Instance_Name>;databaseName=<Database_Name>;integratedSecurity=true;encrypt=true;trustServerCertificate=true;authenticationScheme=NTLM

    For instance:

    jdbc:sqlserver://172.16.14.147;instanceName=MSSQLSERVER1;databaseName=Jeevi_26-12-25;integratedSecurity=true;encrypt=true;trustServerCertificate=true;authenticationScheme=NTLM

    Windows Authentication – Non-SSL (Port-based)

    jdbc:jtds:sqlserver://<DB_IP_Address>:<DB_Port>/<Database_Name>;

    prepareSQL=3;useCursors=false;bufferMaxMemory=102400; tcpNoDelay=true;lobBuffer=524288;packetSize=8192;

    bufferMinPackets=32;socketKeepAlive=true;loginTimeout=180;

    socketTimeout=300;sendStringParametersAsUnicode=false

    jdbc:sqlserver://<DB_IP_Address>:<DB_Port>;databaseName=<Database_Name>;integratedSecurity=true;encrypt=false;authenticationScheme=NTLM

    For instance:

    jdbc:sqlserver://172.16.14.147:1433;databaseName=Jeevi_26-12-25;integratedSecurity=true;encrypt=false;authenticationScheme=NTLM

    Windows Authentication – Non-SSL (Instance-based)

    jdbc:jtds:sqlserver://<DB_IP_Address>/<Database_Name>;

    INSTANCE=<Instance_Name>;prepareSQL=3;useCursors=false;

    bufferMaxMemory=102400;tcpNoDelay=true;lobBuffer=524288;

    packetSize=8192;bufferMinPackets=32;socketKeepAlive=true;

    loginTimeout=180;socketTimeout=300;

    sendStringParametersAsUnicode=false

    jdbc:sqlserver://<DB_IP_Address>;instanceName=<Instance_Name>;databaseName=<Database_Name>;integratedSecurity=true;encrypt=false;authenticationScheme=NTLM

     

    For instance:

    sql.url=jdbc:sqlserver://172.16.14.147;instanceName=MSSQLSERVER1;databaseName=Jeevi_26-12-25;integratedSecurity=true;encrypt=false;au

    thenticationScheme=NTLM

  6. Save the eg_db.ini file.

  7. Restart the eG manager.