Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hello,
I'm new to Talend and I have a problem to connect to my MS Access DB.
I'm using Talend big data 7.1 and Access 2013.
When creating a new connection to a database and testing my connection to my Access file I have this message:
(translation: fail to connection You must modify parameters of the database)
Echec de la connexion Vous devez modifier les paramètres de la base de données.
java.lang.RuntimeException: java.lang.NoClassDefFoundError: com/healthmarketscience/jackcess/util/ErrorHandler
at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:204)
at org.talend.core.model.metadata.builder.database.ExtractMetaDataUtils.connect(ExtractMetaDataUtils.java:1139)
at org.talend.core.model.metadata.builder.database.ExtractMetaDataFromDataBase.testConnection(ExtractMetaDataFromDataBase.java:315)
at org.talend.metadata.managment.repository.ManagerConnection.check(ManagerConnection.java:290)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$67.runWithCancel(DatabaseForm.java:4189)
at org.talend.repository.ui.wizards.metadata.connection.database.DatabaseForm$67.runWithCancel(DatabaseForm.java:1)
at org.talend.repository.ui.dialog.AProgressMonitorDialogWithCancel$1.runnableWithCancel(AProgressMonitorDialogWithCancel.java:77)
at org.talend.repository.ui.dialog.AProgressMonitorDialogWithCancel$ARunnableWithProgressCancel$1.call(AProgressMonitorDialogWithCancel.java:161)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoClassDefFoundError: com/healthmarketscience/jackcess/util/ErrorHandler
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getDriver(JDBCDriverLoader.java:124)
at org.talend.core.model.metadata.builder.database.JDBCDriverLoader.getConnection(JDBCDriverLoader.java:149)
... 9 more
Caused by: java.lang.ClassNotFoundException: com.healthmarketscience.jackcess.util.ErrorHandler
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 13 more
I also have this additionnal parameter:jackcessOpener=org.talend.ucanaccess.encrypt.CryptCodecOpener;memory=false
I don't know what it is...
I checked my ODBC manager (I'm in 64) and I have MS Access Database with .mdb .accdb.
In this form, it is not working BUT!
It is working fine when I'm using tAccessConnection. I can perfectly connect to my table in Access and send it to my MariaDb.
But I have 15 tables and I don't want to have 15 tAccessConnection and manually write all the schemas...
Thanks for your help!
Can you show your errors?
I made it work using MetaData but it was super tough and i spent way too much time.
Using tDBConnection was easier to setup.
Database = Access and click Apply
Database = the path to where the access db is located (it may create errors if you did not adjust memory and you db is huge or not on local computer).
username & password is not needed but you get a warning, so i just enter my name and fake pwd.
That is it and you then create some connectors.
I'm not an expert but i will try to help if i can.
I attached an image of a simple workflow.
Years after your post now, and I'm having the exact same issues.
I'm using a tDBConnection component selecting "Access" as the database, with a full path to my locally stored access database, but I can't guess a schema or issue a query in a tDBInput.
At first it said I needed jackcess jar files; I found them on mavenlink, downloaded and installed them, and I've now moved on to a new set of issues.
When clicking "guess schema" in the tDBInput basic settings tab, I get "Database connection is failed" dialog. I'd like to read the table schemas and data from my local access database and move it to a SQL Server back end, but I can't make the initial connection to the access database.
How did you get this to work? It's not a straightforward as i would expect given how easy it is to access data from more complex database systems!
Thanks for solution..