Forum

This content is now out of date.

Visit Our Community

Connecting to 10.x Progress (OpenEdge)

Updated documentation can now be found via our YF community HERE

We have potential client who uses progress 10.1 as their database. Is there a driver for Progress DB? Do you have any ideas on how Yellowfin will connect to progress?

Answer

* Progress 10.x is a modern database and offers the choice of ODBC or JDBC connection, the best option is to connect via the JDBC Type IV driver (pure native Java driver).

A type 4 driver converts JDBC calls into the network protocol used by DBMS’s directly. These drivers can be written entirely in Java. Because these drivers translate

JDBC directly into the native protocol without the use of ODBC or native APIs, they can provide for very high performance database access.

The architecture of a Type 4 driver is as follows:

+————-+

| Application |

| Program |

+————-+

|

+————-+

| JDBC method |

| library |

+————-+

|

| (network connection)

|

+————-+

| Database |

| |

+————-+

* Progress supports SQL 92 standard syntax

Connection to a progress database via SQL requires the ?Client Network? license. (A full install license or the client Network license will install the JDBC JAR files necessary to connect)

The following are OpenEdge 10.1A and later JDBC components

On Windows:

%DLC%javaopenedge.jar #Progress OpenEdge Driver and DataSource classes

%DLC%javautil.jar #Classes that are used by and required by the Progress OpenEdge driver

%DLC%javabase.jar #Classes that are used by and required by the Progress OpenEdge driver

%DLC%javapool.jar #DataDirect Connection Pool Manager classes

%DLC%javaspy.jar On UNIX including Sun Solaris SPARC (32 bit and 64 bit) , Compaq Tru64 UNIX , Linux X86, IBM AIX, HP-UX (32 bit and 64 bit)

$DLC/java/openedge.jar #Progress OpenEdge Driver and DataSource classes

$DLC/java/util.jar #Classes that are used by and required by the Progress OpenEdge driver

$DLC/java/base.jar #Classes that are used by and required by the Progress OpenEdge driver

$DLC/java/pool.jar #DataDirect Connection Pool Manager classes

$DLC/java/spy.jar

1) The first step to configure the JDBC driver is to set CLASSPATH.

CLASSPATH=$DLC/java/openedge.jar: $DLC/java/util.jar: $DLC/java/base.jar:$CLASSPATH

On Windows you might need to set CLASSPATH within the environment of your Java client.

2) To load the driver, make sure that the application loads the class “com.ddtek.jdbc.openedge.OpenEdgeDriver”. For example, add the java call:

Class.forName( “com.ddtek.jdbc.openedge.OpenEdgeDriver”);

3) To establish a connection, the following is a sample of the connection string:

Connection con = DriverManager.getConnection ( url ); String url;url = new String ( “jdbc:datadirect:openedge://myhost:6718;databaseName=sports2000;user = jones;password = secret” );

Or you can also use:

Connection con = DriverManager.getConnection ( url);jdbc:datadirect:openedge://host:port;databaseName=db_name;servicename=service_name;defaultSchema=schema_name;statementCacheSize=CacheSize;

The database connection URL:

jdbc:datadirect:openedge://:;databaseName=

needs to be replaced with the hostname the database is running on

needs to be replaced with the service port the database server is listening

Example URL for the sports2000 database running on host localhost port 6789:

jdbc:datadirect:openedge://localhost:6789;databaseName=sports2000

* In 10.2B and above the logical database name is case sensitive & may be substituted by the physical pathname eg c:dbdb

Hope this helps.

Regards

Justin Hewitt
Yellowfin

Your post help a lot, thank you.