Cannot connect to Progress DB

We are have issues trying to connect to an existing Progress DB. Attached are notes and screen shots that explain our errors. Can anyone be of assistance?

I attempted to attached a DOC file with screen shots but this failed, so I included below my notes. I hope this is useful for someone.

We are attempting to use Servoy Developer and connect to a Progress DB. But we get an error.

We can successfully connect to Progress via JDBC using the SQL Explorer Tool from Progress. So, we know the jpdc is workingM-^E

According to the Progress notes, we have defined a System variable called
CLASSPATH = %CLASSPATH%;%DLC%\java\progress.jar

Where DLC = c:\program files\progress

We believe these are defined correctly.

We placed drivers in the proper folders for Progress and for Servoy:

But when we launch Servoy Developer and try to connect to Progress:

We get the following error:

JDBC Driver ‘com.progress.sql.jdbc.JdbcProgressDriverInterface’ not found in classpath or drivers directory

We are unable to determine why this error exists.

Can you help??

Don’t know anything about Progress but the error would appear to be that the Progress driver is not found by Servoy.

We placed drivers in the proper folders for Progress and for Servoy:

By proper I presume you mean that they are in the Servoy/drivers folder. This is how my Servoy/drivers folder looks:

ojdbc14.jar
postgresql.jar
mysql.jar
msbase.jar
msutil.jar
jconnect.zip
mssqlserver.jar
firebird.zip

and with that I have not had any problem connecting to any of those databases. When I first started I had some problems with SQL Server’s driver because I did not have all the correct files in place and got a similar message. And if I don’t have the driver in that Servoy/driver directory I will get that same message.

HTH,

Here are the files inside my Servoy/drivers folder

firebird.zip
jconnect.zip
jdbc.jar
jdbc.zip
mysql.jar
protgresql.jar
progress.jar
progress.zip

So, I think I have the proper files there.
Do these look OK?

Unfortunately again I know nothing about your particular DB. I was going to suggest using a Java JDBC query tool called Aqua Data Studio to check out how the driver works with other, non-Progress Java applications. But ADS doesn’t have native support for Progress although you can try hooking it up with their Generic JDBC connection.
The message you get with Servoy would indicate that something is missing. I would think your best resource would be the people at Progress in the first instance. Give them that error message:

DBC Driver ‘com.progress.sql.jdbc.JdbcProgressDriverInterface’ not found in classpath or drivers directory

and tell them what drivers you have in the Servoy/drivers directory.

You don’t need to set a CLASSPATH to the driver. You only have to place it in the Servoy drivers directory. Do you see progress entries in the driver pulldown (open an existing connection in preferences to get to that pulldown), if yes: do they have the syntax you are trying to use to connect to it?

Yes, the Progress driver appears in the pulldown when attempting to add a new connection. Is the syntax correct? We don’t know if it is or not. Here is what we see on the pull down.

com.progress.sql.jdbc.JdbcProgressDriverInterface

Well, looks we have solved our own problem. We have successfully connected to our Progress Db by leaving the server user and password blank. Don’t know why this worked, but it did. However, the fun is short lived. Now when we try to open an existing table inside a new form, we get a “Primary Key missing” type of error. Progress tables do not require primary keys, even though you are allowed to define one. Our DB was setup by a third party package and we do not see any tables with a primary key defined.
Does anyone have any idea how to bypass the primary key error? We will continue to work on this problem ourselves.
Thanks for any assistance…

If you download the newest Servoy beta installation (2.1beta2) you actually don’t need to have a database defined primary key with two provisos. One, you must have some column that uniquely describes each row. In other words if you do a ‘find’ on that column and you enter one value you will get one and only one row back - no duplicate values can be in that column. Two that unique identifier must be in one column only, i.e. it can’t be a primary key that is made up of two or more columns - name and phone number for example would not work. (I think it would work if that calculation happens in the back end and creates that unique identifier column each time a new row is added however but I haven’t tried that). If you want to use this new Servoy attribute, you go into ‘Dataproviders’ and there is a column there called ‘Row Ident’.

I would also that I think you will find it worthwhile in the long run to have true primary keys on all your tables.

Thanks John for you notes.

We checked out the Servoy web site and are not able to find the 2.1Beta2 version. How do we get it?

If you follow the links via download and beta installers you will get there. It isn’t labeled as 2.1beta but the beta installer is the most latest one. Directly I think you can use this:
http://developer.servoy.com/license.jsp?q=1&beta=true

John

Help…
We have a Progress db running “OpenEdge v10.1b”
I have an odbc connection from within excell running.
How can i make a servoy connection to Progress?
Which driver? sun.jdbc.odbc.JdbcOdbcDriver?
URL? Any examples…
How to make a jdbc connection?
I have the progress “jdbc.jar” v9.1driver, is this working with the v10.1b?
URL? Any examples…

Thanks!
Koen

Hi Koen,

I think your first stop is the Progress OpenEdge 10.1B product documentation:
http://www.psdn.com/library/kbcategory. … goryID=459

There is also a product download section but that requires registration:
http://www.progress.com/progress/opened … oducts.jsp

As for jdbc version numbers. The rule of thumb is to use the same jdbc version number as your database server. Usually higher versions are backwards compatible though.
So in your case I suggest you find a 10.1B version.

Hope this helps.

Hi Koen,

Here is the syntax for your jdbc connection

http://documentation.progress.com/outpu … 04-11.html

Hope this helps.

Thanks for the fast respons Robert,
I know what to do the next coming hours…
=)
Koen

Didn’t get any results…
Can not find the jdbc driver to download, I’ve asked it our Progress DB supplier 3 weeks ago with no results…

So if anyone can help me with the odbc connection:

  • Is it the sun.jdbc.odbc.JdbcOdbcDriver i can use for it?
  • url examples?

Thanks
Koen

coan:
Didn’t get any results…
Can not find the jdbc driver to download, I’ve asked it our Progress DB supplier 3 weeks ago with no results…

Doing some googling I find mentions of com.ddtek.jdbc.openedge.OpenEdgeDriver but also of com.progress.sql.jdbc.JdbcProgressDriver.
Maybe the latter is an old one.
I guess the first jdbc driver is from DataDirect Technologies, a Progress Software company.
Maybe you have to buy it from them or maybe it’s already bundled and on your Progress CD.

coan:
So if anyone can help me with the odbc connection:

  • Is it the sun.jdbc.odbc.JdbcOdbcDriver i can use for it?
  • url examples?

A quick google on ‘sun.jdbc.odbc.JdbcOdbcDriver’ gives you the following info:
URL format is:```
jdbc:odbc:[;=]*


Examples given are:

jdbc:odbc:sybase
jdbc:odbc:mydb;UID=me;PWD=secret
jdbc:odbc:ora123;Cachesize=300


Hope this helps.

mmm…
I did some further digging without luck…
odbc connection gives error:

Cannot setup server:
java.sql.SQLException: JDBC Driver ‘sun.jdbc.odbc.JdbcOdbcDriver’ not found in classpath or drivers directory : java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver sun.jdbc.odbc.JdbcOdbcDriver

URL: jdbc:odbc:erpdb
Driver: sun.jdbc.odbc.JdbcOdbcDriver

I got the weekend to read some more…

Thanks for the info Robert,
=)
Koen

coan:
mmm…
I did some further digging without luck…
odbc connection gives error:

Cannot setup server:
java.sql.SQLException: JDBC Driver ‘sun.jdbc.odbc.JdbcOdbcDriver’ not found in classpath or drivers directory : java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver sun.jdbc.odbc.JdbcOdbcDriver

URL: jdbc:odbc:erpdb
Driver: sun.jdbc.odbc.JdbcOdbcDriver

According to more than one knowledge base docs on the Progress site, the driver to use for Progress server 10.1B is: JDBC Drivers Type-4 v3.6

That info may help you find the correct driver in the Progress download area (you need a customer account to log in).

good luck!

kazar

No results so far…

Nor on a mac os x 10.5.2, nor on a ms win xp
Cleaned installed Servoy 3.5.4
jdbc driver from Progress OpenEdge: openedge.jar (in attachment)
Placed in the Servoy/driver/ folder

But Servoy does not recognize the driver…
I tried to set manually the driver “com.ddtek.jdbc.openedge.OpenEdgeDriver”
But no go… error message:

java.sql.SQLException: JDBC Driver ‘com.ddtek.jdbc.openedge.OpenEdgeDriver’ not found in classpath or drivers directory : java.lang.ClassNotFoundException: com.ddtek.jdbc.openedge.OpenEdgeDriver com.ddtek.jdbc.openedge.OpenEdgeDriver

Is there anyone with more results on connecting to a Progress OpenEdge 10.1B database or is it time to post this to support@servoy.com?

=/
Koen

openedge.jar (90.3 KB)

Hi, i think this is way to connect to an Progress database.

  • first setup an progress database that support jdbc connection
  • place jdbc.jar in the driver directory of Servoy
  • add progress.jar to the classpath
  • add the bin directory of progress to the path of windows

use follow parameters
driver: com.progress.sql.jdbc.JdbcProgressDriver
URL: jdbc:jdbcprogress:T:::

example of servoy_developer.bat:

PATH=%PATH%;D:\Develop\Progress\DLC\dlc9.1d\bin
java -classpath servoy_developer.jar;D:\Develop\Progress\DLC\dlc9.1d\java\progress.jar com.servoy.j2db.startup.Bootstrap