Truesight Capacity Optimization(TSCO) - Common issues when placing an external jdbc jar file to connect to an external database

Version 1
    Share This:

    This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.


    PRODUCT:

    TrueSight Capacity Optimization


    COMPONENT:

    Capacity Optimization


    APPLIES TO:

    TrueSight Capacity Optimization ALL VERSIONS



    QUESTION:

    External jdbc files are not working properly, the files are placed on $CPITBASE/etl/libext/ directory but when running the Generic Database Extractor (java) ETL the next error is present::

    <----cut---->
    2017-02-14 13:58:07] FAILED BCO_ETL_FAIL108: Process cannot be started (cannot fork external java/os process) or process fails due to severe errors (no modules in classpath, ClassNotFoundException, not enough memory available on EE machine, etc.). Reason: java.lang.ClassNotFoundException: com.intersys.jdbc.CacheDriver
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:264)
        at com.neptuny.cpit.etl.DBInterface.connect(DBInterface.java:211)
        at com.neptuny.cpit.etl.extractor.DMSQLE.connect(DMSQLE.java:90)
        at com.neptuny.cpit.etl.Engine.start(Engine.java:129)
        at com.neptuny.cpit.etl.ETLrun.main(ETLrun.java:171)
    <----cut---->

    The jdbc jar files are on the correct directories (ETLs and Application Server). However still presenting error on the Generic Database Extractor (Java) ETL:

    <----cut---->
    BCO_ETL_ERR011: Detected an abnormal ETL termination. Reason: java.sql.SQLException: [Cache JDBC] Communication link failure: Access Denied
    at com.intersys.jdbc.CacheConnection.connect(CacheConnection.java:1132)
    at com.intersys.jdbc.CacheConnection.<init>(CacheConnection.java:390)
    at com.intersys.jdbc.CacheDriver.connect(CacheDriver.java:244)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at com.neptuny.cpit.etl.DBInterface.connect(DBInterface.java:212)
    at com.neptuny.cpit.etl.extractor.DMSQLE.connect(DMSQLE.java:90)
    at com.neptuny.cpit.etl.Engine.start(Engine.java:129)
    at com.neptuny.cpit.etl.ETLrun.main(ETLrun.java:171)
    <----cut---->


    ANSWER:

     

    The error happens because the jdbc jar file is not placed in the $CPITBASE/etl/libext/ directory on both Application Server and ETL Engine server on which the ETL module runs.  The jar file needs to be placed on both the servers. If the file is put on just one server (either App server or EE) the java based ETL will throw an error BCO_ETL_FAIL108. The java library on the ETL server doesn't find the main void on the driver to get the connection parameters. 


    This error BCO_ETL_ERR011 seems to happen when the connection is being blocked.  So, the customer could verify the following:

      

    (A) Check if the combination user/password is correct to connect to the database.
    (B) If the server/protocol is allowed to connect to the database on the port described. Check through any Proxy/Firewall.

     


    Article Number:

    000131326


    Article Type:

    FAQ/Procedural



      Looking for additional information?    Search BMC Support  or  Browse Knowledge Articles