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.
What driver class would you use if you were just writing a Java app? I would look for a sample from Cincom SUPRA and try the same class that it used.
Thanks for the quick reply.
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.
Any tips about the configuration?
What configuration are you referring to exactly?
The adapter configuration when using a JDBC-ODBC brigde
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)
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.
Waal! Brazilian people
First of all, thanks!
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”.
Can you post a screen shot of your connection configuration? Can you also post a screen shot of the error you’re getting?
Connection Type JDBC Adapter Connection
Package Name Acme2
Transaction Type Local Transaction
DataSource Class sun.jdbc.odbc.ee.DataSource
Retype password pass
Connection Management 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”.
Try setting networkProtocol to blank (ie. get rid of “tcp”)
Still got the same
Is there necessary to add some .jar on classpath?
JDBC-ODBC bridge was not ok…
Now I got it!!
I´ll configure the custum SQL. Anyway… I cannot create notifications… right?
It´s working! Thank´s!
Unfortunately I can´t find a way to create a notification when the data is modified.
I don’t think there’s anyway for you to do anything “cool” like notifications. Just boring CustomSQL.
How did this all end up working out?
I’m stuck trying to read data from an old MS Access database into webMethods Version 9.9
It looks like I’ve got two options: use Easysoft or WMDB
For the easysoft approach:
So far, I have the Access DB as an ODBC source–that took some doing:
64 bit windows doesn’t by default show you the option to do that. So, now that part is working at least.
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.