Welcome Guest! Log in

SQLException " Unsupported major.minor version 52.0" when connecting to a JDBC database

    SYMPTOM

    When connecting to a JDBC database the following error message is displayed:

     

    java.lang.UnsupportedClassVersionError: org/postgresql/Driver : Unsupported major.minor version 52.0
     at java.lang.ClassLoader.defineClass1(Native Method)
     at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
     at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
     at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
     at java.security.AccessController.doPrivileged(Native Method)
     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
     at java.lang.Class.forName0(Native Method)
     at java.lang.Class.forName(Class.java:188)

    Caused by: java.lang.UnsupportedClassVersionError: com/mysql/cj/jdbc/Driver : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.apache.commons.dbcp.BasicDataSource.createConnectionFactory(BasicDataSource.java:1415)

     

    Solution

    Check if your Java version and JDBC driver version are compatible by using the database documentation.

    For example:
    Postgresql: https://jdbc.postgresql.org/download.html
    MySQL: https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-versions.html

    SSH Action does not load environment variables

      Symptom

      When executing a SSH command with the "Execute SSH" Action, some environment variables are not loaded / initialized.

      It seems that the SSH session does not load the Linux user's environment or profile.

      Solution

      The Execute SSH action opens a non-interactive shell session on the remote server. With this kind of session, the shell does not load the user's environement and profile scripts (see documentation for bash for example), this is why some environment variables are not available.

      Simple test to confirm this case: compare the result of the "set" command in your prefered Terminal application and in the output of Stambia's Execute SSH.

      A simple way to load environment variables is to source a config file at the beginning of your Execute SSH action Code:

      source /home/user/some_config.sh
      echo "$myvar is set"
      start_something.sh -o "${~/param}$"

       

      Error "Failed to parse with generic parser" when executing a mapping

        Symptom

        When executing a mapping (or a process containing a mapping), the following error occurs on a SQL Operation action: "Failed to parse with generic parser".

        Solution

        • If one of the column names starts with a number then enclose this column name with delimiters in the mapping expression, such as this Sql Server example (adapt it to your database):

        517 mapping

        • If no column starts with a number then contact support

        Error when working with File: FileDriverStatement::executeQuery, error opening the file

          Symptom

          When working with a File metadata (executing a read or write mapping, replicate File to rdbms...) the following error occurs :

          Error: FileDriverStatement::executeQuery, error opening the file \\servername\d$\Data\IN\CUSTOMER-20180808-134523.txt

          The file is located on a shared drive.

          Solution

          This is generally due to permission issues.

          • Verify that the user which runs the Runtime has permission on the shared drive
          • Alternatively, share the folder instead of the drive : \\servername\IN\...

           

          FTPS: Error "Operation not permitted" when using an FTP action with TLS or SSL

            Symptom

            When using an FTP action (Ftp Get, Ftp Put), the file transfer fails with an error like "425 : Unable to build data connection: Operation not permitted".

            (French error message: "425 Impossible d'établir la connexion de données : Opération non permise").

            Some FTP servers might display this kind of message in their log files (sample from Proftpd tls.log file):

            2017-06-22 15:27:05,054 mod_tls/2.6[6418]: TLS/TLS-C requested, starting TLS handshake
            2017-06-22 15:27:05,125 mod_tls/2.6[6418]: client supports secure renegotiations
            2017-06-22 15:27:05,125 mod_tls/2.6[6418]: TLSv1/SSLv3 connection accepted, using cipher ECDHE-RSA-AES128-SHA256 (128 bits)
            2017-06-22 15:27:05,201 mod_tls/2.6[6418]: Protection set to Private
            2017-06-22 15:27:05,238 mod_tls/2.6[6418]: starting TLS negotiation on data connection
            2017-06-22 15:27:05,566 mod_tls/2.6[6418]: client did not reuse SSL session, rejecting data connection (see the NoSessionReuseRequired TLSOptions parameter)
            2017-06-22 15:27:05,566 mod_tls/2.6[6418]: unable to open data connection: TLS negotiation failed

            Solution

            An FTPS file transfer uses two connections:

            • the main connection ("command channel") where the client and server exchange commands and replies,
            • and the data connection where actual file lists and file data are transferred.

            Some FTP servers are configured to require the use of the same SSL session for these two channels. Hence the above message.

            A possible solution is to configure the server to autorize the use of separate SSL session (Proftpd instructions are here). 

            If this solution is not applicable in your case please contact the support team.

             

             

            Knowledge Base

            Suggest a new Article!