In one of my integration projects, I have to integrate a Cincom SUPRA SQL database through webMethods IS. Cincom claims to support JDBC via a very basic JDBC driver type II. However, it does not appear that they have a DataSource implementation for their driver yet.
Question: is there a sneaky way to use the JDBC adapter without having a DataSource class (ie. with only having the Driver class)? Or is using WmDB my best bet?
I know, I know… Cincom SUPRA SQL is not one of the databases supported by the JDBC adapter. However, I wanted to at least play around with it to see how far I can go before it blows up in my face.
I do know what the Driver class is. However, my problem is that, unlike WmDB, the JDBC adapter does NOT take as input a Driver class name. Instead, it only accepts a DataSource class name.
Unfortunately, the driver that I am working with does NOT have a DataSource implementation out yet. So I was trying to figure out how to get it to work with the JDBC adapter.
From what I’m seeing, it doesn’t look like the JDBC adapter can work with just a Driver class. Just for experimentation purposes, I took a couple of hours and cranked out a simple DataSource class to wrap around the Driver class. I used my DataSource class to create a JDBC adapter connection, and I was to enable it and successfully test it using the CustomSQL template. Due to limitations of the Driver class (ie. getCatalogs is not implemented), however, I was not able to test the built-in templates like SelectSQL, UpdateSQL, etc.
For obvious reasons, I won’t be using my own DataSource during the actual implementation. I’ll probably have to stick with WmDB until Cincom comes out with a DataSource implementation for their driver.
There seem to be some good third-party ODBC drivers from folks like DataDirect. Could you use one of those with a ODBC-JDBC bridge of some sort? I don’t like the ODBC-JDBC bridge, but it’s better than not having any access to the data.
Thanks for your suggestion. Cincom actually does provide ODBC drivers and that is one dilemma that I’ve been struggling with.
Sun suggests staying away from JDBC-ODBC bridges if possible and I definitely agree with them. However, the Java driver that I have for SUPRA is an immature type II driver, which is dependent on a few C libraries, so it’s definitely not much more portable (if at all) than using a JDBC-ODBC bridge.
So, I’m faced with that old question: which is the less of the two evils?
I’ll end up setting both up to run some tests and see how they compare. I’ll make sure I report my results.
Hmmm. We’re stacking commercial thingies on top of one another with this but there is a commercial type-3 jdbc-odbc adapter from EasySoft that looks interesting.
First, a disclaimer: per Sun, you should avoid using the JDBC-ODBC bridge in Production. If you must use it, then I’d suggest using WmDB as webMethods does not support using JDBC Adapter with a JDBC-ODBC bridge as far as I know.
Now, if you still want to play around with using the JDBC Adapter with a JDBC-ODBC bridge, here’s how you can set it up:
DataSource Class = sun.jdbc.odbc.ee.DataSource (present in JVM 1.4.2 and above)
serverName =
user =
password =
databaseName =
I just gave this a try and it worked, but I was only able to use the CustomSQL template. When I tried using the SelectSQL template, the list of tables in the adpater service stayed empty.
Give it a try and let me know how it goes. By the way, glad to see webMethods is becoming more popular in Brasil. Maybe I’ll come back home one of these days.
The reason the JDBC-ODBC bridge is to be avoided is because it is not thread-safe. It likely may behave just fine during development, but you’ll likely encounter issues on day 1 of production use.
I had a Datasource problem … I have the jvm/win142 but I got the following: Cannot connect to the database with DataSource class “sun.jdbc.odbc.ee.DataSource”.
General error
Connection Type JDBC Adapter Connection
Package Name Acme2
Connection Properties
Transaction Type Local Transaction
DataSource Class sun.jdbc.odbc.ee.DataSource
serverName
user admin
password pass
Retype password pass
databaseName access
portNumber
networkProtocol tcp
Other Properties
Error encountered [ART.118.5042] Adapter Runtime (Connection): Unable to enable connection resource connect:acme2_conn.
[ART.118.5036] Adapter Runtime (Connection): Unable to configure connection manager.
[ADA.1.204] Cannot connect to the database with DataSource class “sun.jdbc.odbc.ee.DataSource”.
General error
Then, I need to get easysoft and then work out the JDBC connection to it.
Is there another way to connect using the JDBC adapter to get to an access database? (flat file)
For the WmDB approach:
I’m looking at the WmDB user guide 9.9 and it lists MS Access as one of the things that it connects to… and that’s it. MS Access is mentioned once in the whole manual. Not one example.