9 Replies Latest reply on Aug 18, 2011 10:25 AM by actualjon

    JDBC Driver error using java based ETL tool

    ShawnLarson

      Title

      JDBC Driver error using java based ETL tool

      Your post

      We use an open source ETL tool from Pentaho to synchronize data across several data platforms Filemaker being one of them. We've run into an issue recently with the FMP 11 JDBC driver that did not exist in the sequelink drivers previously supplied.

      We are receiving an error from the JDBC Driver as follows when using the carte slave server in Pentaho Data Integration:

      [FileMaker][FileMaker JDBC] Cannot find any provider supporting AES/ECB/NoPadding

      It appears to be coming from the driver and we're having some difficulty finding info on how to resolve this. Again with the sequelink drivers in pre-FMP 11 versions we did not have this issue. This is preventing us from upgrading FMP Server Advanced to version 11.

      Has anyone else seen this error when utilizing the JDBC driver?

        • 1. Re: JDBC Driver error using java based ETL tool
          IwaoAVE!

          Hi Shawn,

          Did you try version 11 on the same environment as the previous version?
          I mean, any difference other than FileMaker version (e.g. OS, JDK or the ETL tool version)?

          It sounds more like a class loading issue rather than a driver problem.
          Please see the 'SunJSSE can not find a JCA/JCE provider which supports arequired algorithm and causes' section of the following document.
          http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#InstallProbs

          Regards,
          Iwao 

          • 2. Re: JDBC Driver error using java based ETL tool
            ShawnLarson

            Thank you for you response. Are you talking about the FMP Server software OS? If so I cannot do that. The prior version (9 advanced) is running on a Mac OS now unsupported in 11. If however you are speaking of the client machine which is utilizing the driver. I am in fact using the same environment that was used for the sequelink driver distributed with version 9. Here is what I have verified so far.

            Client machine: Windows Server 2003 - have tested with JRE 1.6 and 1.5 as well as a full install of the 1.6 jdk. I have verified the all of the following are present in Java\jre6\lib\security\java.security: (Note I added bouncy castle on the off chance that would solve this problem.)

            security.provider.1=sun.security.provider.Sun
            security.provider.2=sun.security.rsa.SunRsaSign
            security.provider.3=com.sun.net.ssl.internal.ssl.Provider
            security.provider.4=com.sun.crypto.provider.SunJCE
            security.provider.5=sun.security.jgss.SunProvider
            security.provider.6=com.sun.security.sasl.Provider
            security.provider.7=org.jcp.xml.dsig.internal.dom.XMLDSigRI
            security.provider.8=sun.security.smartcardio.SunPCSC
            security.provider.9=sun.security.mscapi.SunMSCAPI
            security.provider.10=org.bouncycastle.jce.provider

            I have verified that sunjce_provider.jar is installed at Java\jre6\lib\ext

            The only think I can guess here is that something is unloading SunJCE and I'm inclined to look at the driver because here is is the list of drivers currently not having this issue within the same application and same operating environement:

            db2jcc.jar, derby.jar, derbyclient.jar, h2.jar, hsqldb.jar, ifxjdbc.jar, iijdbc.jar, infobright-core-3.0-remote.jar, interclient.jar, jaybird-full-2.1.0.jar, jt400.jar, jtds-1.2.5.jar, kingbasejdbc.jar, moetdb-1.7-jdbc.jar, mysql-connector-java-3.1.14-bin.jar, ojdbc14.jar, orai18n.jar, postgresql-8.3-603.jdbc3.jar, rdbthin.jar, sapdbc.jar, sljc.jar, sqlitejdbc-v037-nested.jar, unijdbc.jar, vertica_3.5_jdk_5.jar, xdbjdbc.jar

            I'm wondering if I've missed something here.

            • 3. Re: JDBC Driver error using java based ETL tool
              IwaoAVE!

              It should be the client machine which causes the exception.

              I have looked into both drivers (sljc.jar and fmjdbc.jar) and only fmjdbc.jar has the javax.crypto stuff in it.
              So, that would explain why only fmjdbc.jar is failing.

              I would suggest you to try executing the following program on the client machine and see what happens.

              import javax.crypto.*;
              
              public class JceTest {
                public static void main(String[] args) {
                  try {
                    Cipher c = Cipher.getInstance("AES/ECB/NoPadding");
                    System.out.println(c.getProvider());
                  } catch (Throwable e) {
                    e.printStackTrace();
                  }
                }
              }
              

              If the same exception is thrown, there may be something wrong with your java setup.

              Regards,
              Iwao

              • 4. Re: JDBC Driver error using java based ETL tool
                ShawnLarson

                Compiled your code using javac. Executed using java.exe from the command line and received the following response: SunJCE version 1.6

                I confirmed that the carte application is pointed to and using the same jre as the one in this test.

                Any other suggestions?

                • 5. Re: JDBC Driver error using java based ETL tool
                  IwaoAVE!

                  As the test runs fine, I doubt that the ETL tool failed to pickup the provider for some reason.
                  After a quick google search, I found the following issue which might be related to your problem.

                  http://jira.pentaho.com/browse/PDI-5272

                  Can you update the ETL tool if you are using one of the affected versions?
                  If you are using the latest version already, I would recommend you to contact Pentaho support with the information you've got.

                  Regards,
                  Iwao 

                  • 6. Re: JDBC Driver error using java based ETL tool
                    ShawnLarson

                    No joy. We're running the latest stable build of 4.1 and to make certain I tried the workaround of removing spaces from the java path and still no joy.

                    I'm convinced this a problem with the driver that needs to be addressed.  Seems we're dead in the water without a fix from FM on this.

                    • 7. Re: JDBC Driver error using java based ETL tool
                      philmodjunk

                      For a faster response from FileMaker, you might post this issue over in Report an Issue with a link back to here so you don't have to retype everything. That's the main venue for reporting possible software bugs.

                      • 8. Re: JDBC Driver error using java based ETL tool
                        ShawnLarson

                        thx. I've posted it there.

                        Thanks all for the assistance.

                        • 9. Re: JDBC Driver error using java based ETL tool
                          actualjon

                          Please add $JAVA_HOME/jre/lib/ext to the search path in the batch file used to start the Pentaho application.

                          Jonathan