Error message is :
com/healthmarketscience/jackcess/util/ErrorHandler
I have installed Ucanaccess driver (ucanaccess-4.0.4.jar) Under Lucee 5.3
on Linux Debian 10 and Apache 2.4
Ucanacces driver have appeared in the datasource driver list.
(also, I can see Ucanacces files in the Lucee file structure, the jar, the lex)
When declaring a new datasource I can choose the Ucanacces driver in the driver list,
great, Then I create and get the datasource full form.
I give the mdb file (database file) address in the “database” field , like : /var/www/C006/database/cinema.mdb
I am wondering if this is the right place to point to the mdb file,
and the right path designation ?
Error is message :
com/healthmarketscience/jackcess/util/ErrorHandler
Thanks, if anybody can help me with this blocking factor using Lucee/Linux
instead Coldfusion/Windows.
I believe , this is a Ucanaccess/Lucee link problem.
Hi @Pierre_Larde the UcanAccess extension is maintained by a member of the community @michaelborn_me and not the Lucee dev team. I’ve pinged him so hopefully he can chime in and help.
Hey Pierre,
You seem to have found the root issue - Lucee doesn’t want to load the jackcess library, which is the main jar that adds Access database capability in this extension.
I’ve actually unpublished the extension for now, because I can replicate this issue and it’s keeping the extension from working at all.
Brad, do you have any clue on why Lucee would show the jar but set it to “not loaded”? Pierre’s screenshot is showing two versions of jackcess, one active and one not. When I test it after installing the extension, I only see a single version (3.0.1) and it is “not loaded”.
I tried declaration through the Lucee admin
and manually adding this code :
class: “net.ucanaccess.jdbc.UcanaccessDriver”,
connectionString: “jdbc:ucanaccess:///var/www/C006/database/cinema.mdb”
and get the same message error
May be, I could put the right files versions at the right place ?
And I am not sure the connection string is correct Under Linux ?
jdbc:ucanaccess:///var/www/C006/database/cinema.mdb (correct linux path ?)
It seems there is a incoherent link to the right version ?
Thanks for any help,
And what should be the right way to restart properly.
Here is the details of error :
lucee.runtime.exp.NativeException: com/healthmarketscience/jackcess/util/ErrorHandler at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) at java.base/java.lang.Class.privateGetDeclaredConstructors(Unknown Source) at java.base/java.lang.Class.getConstructor0(Unknown Source) at java.base/java.lang.Class.newInstance(Unknown Source) at lucee.runtime.db.DataSourceSupport._initializeDriver(DataSourceSupport.java:124) at lucee.runtime.db.DataSourceSupport.initialize(DataSourceSupport.java:116) at lucee.runtime.db.DataSourceSupport.getConnection(DataSourceSupport.java:93) at lucee.runtime.tag.Admin._doVerifyDatasource(Admin.java:2867) at lucee.runtime.tag.Admin.doUpdateDatasource(Admin.java:2643) at lucee.runtime.tag.Admin._doStartTag(Admin.java:704) at lucee.runtime.tag.Admin.doStartTag(Admin.java:337) at services_datasource_create_cfm1334$cf.call(/admin/services.datasource.create.cfm:79) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:942) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:834) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:816) at services_datasource_cfm414$cf.call(/admin/services.datasource.cfm:108) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:942) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:834) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:816) at web_cfm$cf.call(/admin/web.cfm:448) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:942) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:834) at lucee.runtime.PageContextImpl.doInclude(PageContextImpl.java:816) at server_cfm$cf.call(/admin/server.cfm:2) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:942) at lucee.runtime.PageContextImpl._doInclude(PageContextImpl.java:834) at lucee.runtime.listener.ModernAppListener._onRequest(ModernAppListener.java:216) at lucee.runtime.listener.MixedAppListener.onRequest(MixedAppListener.java:42) at lucee.runtime.PageContextImpl.execute(PageContextImpl.java:2409) at lucee.runtime.PageContextImpl._execute(PageContextImpl.java:2399) at lucee.runtime.PageContextImpl.executeCFML(PageContextImpl.java:2374) at lucee.runtime.engine.Request.exe(Request.java:43) at lucee.runtime.engine.CFMLEngineImpl._service(CFMLEngineImpl.java:1109) at lucee.runtime.engine.CFMLEngineImpl.serviceCFML(CFMLEngineImpl.java:1055) at lucee.loader.engine.CFMLEngineWrapper.serviceCFML(CFMLEngineWrapper.java:97) at lucee.loader.servlet.CFMLServlet.service(CFMLServlet.java:51) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:202) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:526) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1587) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.NoClassDefFoundError: com/healthmarketscience/jackcess/util/ErrorHandler … 58 more Caused by: java.lang.ClassNotFoundException: com.healthmarketscience.jackcess.util.ErrorHandler not found by ucanaccess.4.0.4 [50] at org.apache.felix.framework.BundleWiringImpl.findClassOrResourceByDelegation(BundleWiringImpl.java:1597) at org.apache.felix.framework.BundleWiringImpl.access$300(BundleWiringImpl.java:79) at org.apache.felix.framework.BundleWiringImpl$BundleClassLoader.loadClass(BundleWiringImpl.java:1982) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) … 58 more
Pierre, you’re not going to get this working through the CF admin - see my comment above, where I linked to my blog post on how to use the extension.
As far as that datasource goes, it does look right. Of course, I can’t say whether that file path actually points to your DB file, but at any rate that’s not really the issue here. Somehow the wrong jar (2.1.1, in your screenshot) is loaded into Lucee, and 3.0.1 is not. I have no idea why that is.
And if I replace the jar 3.0.1 files by the jar 2.1.1 (degrade the version)
Lucee should understand it ? as it look for the jar 2.1.1 (extension loaded)
Do you think, this could be a trial ?
I f so, where to get the older version 2.1.1 ?
No news about my problem ? is that a version problem ?
With no success, I will give up this environment.
Should I wait next version of Lucee to place the right Ucanaccess extension version ?
Thanks for help.
Or I reinstall the whole.
Pierre.