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
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.
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.
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.
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
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…
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.
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:[;=]*
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
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
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?