0
votes

I am trying to set up a new JDBC connection to an Intersystems Cache data source, and I'm struggling to know if it can even be done.

Since there was no Intersystems Cache option in the JDBC driver drop down, I added the driver string manually -> com.intersys.jdbc.CacheDriver

I then added the URL manually in the following format -> jdbc:Cache://123.123.123.123:12345/namespace

I also found the JDBC driver and have added it to the Jar File Path -> cachedb.jar

Based on the error message, I am wondering if it's even possible to connect to intersystems databases with the JDBC connector. What do you think?

When I try to connect, I get the following error:

Exception, if you want to see more information look into the details. Reason: java.lang.ClassNotFoundException: com.intersys.jdbc.CacheDriver cannot be found by net.sf.jasperreports_6.2.1.final

The Details:

net.sf.jasperreports.engine.JRRuntimeException: java.lang.ClassNotFoundException: com.intersys.jdbc.CacheDriver cannot be found by net.sf.jasperreports_6.2.1.final

at net.sf.jasperreports.data.jdbc.JdbcDataAdapterService.getConnection(JdbcDataAdapterService.java:173)
at net.sf.jasperreports.data.jdbc.JdbcDataAdapterService.contributeParameters(JdbcDataAdapterService.java:128)
at net.sf.jasperreports.data.AbstractDataAdapterService.test(AbstractDataAdapterService.java:128)
at com.jaspersoft.studio.data.wizard.AbstractDataAdapterWizard$3.runOperations(AbstractDataAdapterWizard.java:162)
at com.jaspersoft.studio.utils.jobs.CheckedRunnableWithProgress$1.run(CheckedRunnableWithProgress.java:59)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.intersys.jdbc.CacheDriver cannot be found by net.sf.jasperreports_6.2.1.final
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:439)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:174)
at net.sf.jasperreports.data.jdbc.JdbcDataAdapterService.getConnection(JdbcDataAdapterService.java:145)
... 5 more

I have asked this on the JasperReports community page, but it doesn't get much activity on there.

1
I can't remember to be honest. I might have found it within RazorSQL (which I have a working DB connection to Cache). I've zipped it and created a link for you dropbox.com/s/ewox6r8hr1xwakh/cachedb.7z?dl=0 - Frantumn
This jar doesnot contain jdbc driver (com.intersys.jdbc.CacheDriver class). Are you sure that it is a real jdbc driver? :) - Alex K
This website suggest the name could be CacheDB.jar cachemonitor.de/intersystems-documentation-cache-jdbc-driver - Frantumn

1 Answers

2
votes

You say that you found cachedb.jar, but you should use cachejdbc.jar this file you can find at dev/java/lib/JDK(17|18) in InterSystems installation folder
Documentation