0
votes

I've been trying to get DomSQL to work without success. The demo page fails and this goes into the trace log..

CLFAD0271W: Could not create an instance of com.ibm.domino.domsql.DomSQLDriverProvider, contributed to the extension point com.ibm.commons.Extension with type com.ibm.common.jdbcprovider.

org.eclipse.core.runtime.CoreException: Plug-in com.ibm.domino.domsql.driver was unable to load class com.ibm.domino.domsql.DomSQLDriverProvider.
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.throwException(RegistryStrategyOSGI.java:180)
    at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:162)
    at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:867)
    at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243)
    at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:51)
    at     com.ibm.commons.extension.ExtensionManager$EclipseProvider.findInitializer(ExtensionManager.java:326)
    at com.ibm.commons.extension.ExtensionManager.loadServices(ExtensionManager.java:243)
    at com.ibm.commons.extension.ExtensionManager.findServices(ExtensionManager.java:177)
    at com.ibm.commons.extension.ExtensionManager.findServices(ExtensionManager.java:211)
    at com.ibm.commons.jdbc.drivers.EclipsePlatformService.getJDBCProviders(EclipsePlatformService.java:77)

If I import the source code directly into the nsf the class DomSQLDriverProvider won't compile because if can't find the interface com.ibm.commons.jdbc.drivers.JDBCProvider which I guess is the root problem.

So the question is where should the JDBCProvider interface be coming from?

  • Default server install?
  • OpenNTF version of Extlib?
  • ExtLib X
  • Another plugin?

I'm running Domino 9.01 with latest version of Extlib from openntf

Am assuming this interface is fundamental with any kind of jdbc use with xpages so must be somewhere

NB: I've also done a search in the src of the ExtLib and can't find it in there either.

Is it a legacy 8.5.3 thing for jdbc which is now done differently in 9.01? DomSQL is a project originally created when 8.5.3 was current

Cheers!

1
I don't really know the problem. But the JDBCProvider interface is shipped with the Notes/Domino OSGi library. You can see com.ibm.commons.jdbc_VERSION in the domino osgi folder for the server and in the framework folder for Notes.Serdar Basegmez
cheers. this solved my immediate problem as obviously the source code wouldn't compile directly in the nsf as it relies on bits only on the server. referencing some jars from the server directory got it to compile. root cause was something different thoughMartin Holland

1 Answers

3
votes

com.ibm.commons.jdbc.drivers.JDBCProvider is part of the com.ibm.commons.jdbc plugin, which is part of the core 9.0.1 installation. So I don't think it is the root cause of your problem.

I tried out installing the DomSQL project on my server, which has ExtLib 901 release 8 installed to it, and ran into a problem. Not the same issue as you found, but it didn't work. I rolled back to release 5 of 901 extlib and it seemed to work fine. In release 7 of the extlib, the relational feature was moved from extlibx into the main extlib, and the relational.derby plugin was moved out of extlib completely. These changes appear to have caused an issue in the Dom SQL project, as it must have a dependency on the relational plugins.

Can I ask what version of the extlib you have installed to your server? You say the latest version, so I presume release 8 that was put up a few weeks ago?

The DomSQL project was being maintained by Phillipe Riand, who has recently left IBM. Looks like we'll need to take a look at it, and possibly have someone else take over the project.

UPDATE : I've created a new release of the DomSQL project on OpenNTF. The new release resolves the incompatibility between the DomSQL project and recent releases of the Extension Library (Extlib v901 Release7 or later).