0

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.

Alex K
  • 22,315
  • 19
  • 108
  • 236
Frantumn
  • 1,725
  • 7
  • 36
  • 61
  • 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 https://www.dropbox.com/s/ewox6r8hr1xwakh/cachedb.7z?dl=0 – Frantumn Apr 05 '16 at 19:42
  • This jar doesnot contain jdbc driver (*com.intersys.jdbc.CacheDriver* class). Are you sure that it is a real *jdbc* driver? :) – Alex K Apr 05 '16 at 20:30
  • This website suggest the name could be CacheDB.jar http://www.cachemonitor.de/intersystems-documentation-cache-jdbc-driver/ – Frantumn Apr 05 '16 at 21:48

1 Answers1

2

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

DAiMor
  • 3,185
  • 16
  • 24