Skip to main content
Announcements
See what Drew Clarke has to say about the Qlik Talend Cloud launch! READ THE BLOG
cancel
Showing results for 
Search instead for 
Did you mean: 
JaneYu
Contributor III
Contributor III

tAccessConnection failure-java.lang.NoClassDefFoundError: com/healthmarketscience/jackcess/CryptCodecProvider

I have a talend job with only one component- tAccessConnection

the access database is saved at my local PC

Database: "C:/TOS_BD-20180116_1512-V6.5.1/workspace/test.accdb"

UserName: ""    Password: ****

MS Access Databse 32 bit ODBC driver was installed ( My PC is 64 bit)

I got the following error, Please help.

Exception in thread "main" java.lang.NoClassDefFoundError: com/healthmarketscience/jackcess/CryptCodecProvider
at org.talend.ucanaccess.encrypt.CryptCodecOpener.open(CryptCodecOpener.java:16)
at net.ucanaccess.jdbc.DBReference.<init>(DBReference.java:158)
at net.ucanaccess.jdbc.DBReferenceSingleton.loadReference(DBReferenceSingleton.java:57)
at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:103)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at adhoc_cs25_00009.cs25_00009_0_1.CS25_00009.tAccessConnection_1Process(CS25_00009.java:603)
at adhoc_cs25_00009.cs25_00009_0_1.CS25_00009.runJobInTOS(CS25_00009.java:3128)
at adhoc_cs25_00009.cs25_00009_0_1.CS25_00009.main(CS25_00009.java:2874)
Caused by: java.lang.ClassNotFoundException: com.healthmarketscience.jackcess.CryptCodecProvider
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
[statistics] disconnected
at java.lang.ClassLoader.loadClass(Unknown Source)
... 9 more

Labels (4)
1 Solution

Accepted Solutions
JaneYu
Contributor III
Contributor III
Author

No, I did not do anything in the import command.

What I did is in Basic Settings of tLibraryLoad, Browse a Module File: ( find that jackcess-encrypt-2.0.0.jar), then run the talend job (with tLibraryLoad component).

What should I write in the import command? ( Advanced settings of tLibraryLoad, right?)

Thank you,

 

Jane

View solution in original post

12 Replies
Anonymous
Not applicable

Hi,

 

    Could you please double check whether all the associated jars for the Access components were installed by you?

 

    Usually when you are opening the component, if there is any missing jar, an orange ribbon will be there asking to install the missing jars from internet.

 

    Could you please check it? also please verify the Modules view of Talend as shown in below link 

 

https://help.talend.com/reader/9X9IRskQ0CYqyLOnf~MsXw/3S78DVaGGLL7uKyXjJn0dw

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

JaneYu
Contributor III
Contributor III
Author

Hi Nikhil,

Thank you for your reply. I did install all necessary jars. please see below picture. Thank you.

0683p000009M2ks.jpg

JaneYu
Contributor III
Contributor III
Author

Hi Nikhil,

When I run the talend job, it failed though the tAccessConnection looks ok. Below the screenshot. Thank you for your help

0683p000009M2Zr.jpg

Anonymous
Not applicable

Hi,

 

    Could you please add the missing library mentioned in the error using tLibraryLoad and try to run the job again?

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

JaneYu
Contributor III
Contributor III
Author

Hi Nikhil,

Could you please tell me which library to install?

I use tLoadLibrary and installed jackcess-encrypt-2.1.0.jar, jackcess-2.1.0.jar and ucanacess-2.0.9.5.jar, but still got error.

 

Exception in thread "main" java.lang.NoClassDefFoundError: com/healthmarketscience/jackcess/CryptCodecProvider

at org.talend.ucanaccess.encrypt.CryptCodecOpener.open(CryptCodecOpener.java:16)

at net.ucanaccess.jdbc.DBReference.<init>(DBReference.java:158)

at net.ucanaccess.jdbc.DBReferenceSingleton.loadReference(DBReferenceSingleton.java:57)

at net.ucanaccess.jdbc.UcanaccessDriver.connect(UcanaccessDriver.java:103)

at java.sql.DriverManager.getConnection(Unknown Source)

at java.sql.DriverManager.getConnection(Unknown Source)

at adhoc_cs25_00009.testacessdb_0_1.TestAcessDB.tAccessConnection_2Process(TestAcessDB.java:546)

at adhoc_cs25_00009.testacessdb_0_1.TestAcessDB.runJobInTOS(TestAcessDB.java:2341)

at adhoc_cs25_00009.testacessdb_0_1.TestAcessDB.main(TestAcessDB.java:2087)

Caused by: java.lang.ClassNotFoundException: com.healthmarketscience.jackcess.CryptCodecProvider

at java.net.URLClassLoader.findClass(Unknown Source)

at java.lang.ClassLoader.loadClass(Unknown Source)

at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)

 

 

Anonymous
Not applicable

Hi,

 

    The error is saying that the class com.healthmarketscience.jackcess.CryptCodecProvider is missing. Could you please install any jar containing this class using tLibrarayLoad?

 

    For example, http://www.java2s.com/Code/Jar/j/Downloadjackcessencrypt200jar.htm

 

    Please double check the details of the Jar before installing to make sure that it is the right one (including the above example).

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

JaneYu
Contributor III
Contributor III
Author

Hi Nikhil,

 

I downloaded that jackcess-encrypt-2.0.0.jar.zip from http://www.java2s.com/Code/Jar/j/Downloadjackcessencrypt200jar.htm

After extracting the zip file to jar file, I used tLibraryLoad and load the jackcess-encrypt-2.0.0.jar file.

However, I still got the same error after re-open the talend studio. Please help. Thank you

 

Anonymous
Not applicable

Hi,

 

   Did you add the import command in the advanced section of tLibraryLoad?

 

Warm Regards,
Nikhil Thampi

Please appreciate our Talend community members by giving Kudos for sharing their time for your query. If your query is answered, please mark the topic as resolved 🙂

JaneYu
Contributor III
Contributor III
Author

No, I did not do anything in the import command.

What I did is in Basic Settings of tLibraryLoad, Browse a Module File: ( find that jackcess-encrypt-2.0.0.jar), then run the talend job (with tLibraryLoad component).

What should I write in the import command? ( Advanced settings of tLibraryLoad, right?)

Thank you,

 

Jane