Consultor Eletrônico



Kbase 19308: How to connect to Progress database from JAVA application?
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   12/2/2008
Status: Verified

GOAL:

How to connect to a Progress database using Progress Version 9.1x JDBC Driver?

GOAL:

Java examples on how to connect to a Progress database?

FACT(s) (Environment):

All Supported Operating Systems
Progress 9.x
Progress 9.1x

FIX:

In order to get the JDBC connection working, it is important to set the correct CLASSPATH and PATH (or shared library path) to let the application find the java classes and shared libraries for the driver.

Classpath:

CLASSPATH must contain the classes for Version 9.x database JDBC driver.


For windows,

SET CLASSPATH=%dlc%\java\jdbc.zip (or jdbc.jar in 9.1D) (or %dlc%\java\progress.zip(or progress.jar for 9.1D))

For UNIX,

CLASSPATH=$DLC/java/jdbc.jar (or progress.jar), export CLASSPATH
PATH or shared library path

The path or shared library path must contain the Version 9.x shared libraries for JDBC driver.


For windows,

SET PATH=%dlc%\BIN;%dlc%\jdk\BIN;%dlc%\jre\BIN

For Solaris, Linux

LD_LIBRARY_PATH=$DLC/lib:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH

For HPUX,

SHLIB_PATH=$DLC/lib:$SHLIB_PATH; export SHLIB_PATH

For AIX,

LIBPATH=$DLC/lib:$LIBPATH; export LIBPATH

The Progress Version 9.x JDBC driver name:

com.progress.sql.jdbc.JdbcProgressDriver
The database connection URL:

Example URL for the Sports database:

on host: pcebi2
port: 3001

jdbc:jdbcprogress:T:pcebi2:3001:sports
If it is necessary to pass username and password as part
of the connection string use the following syntax as an example:




jdbc:jdbcprogress:T:pcebi2:3001:sports,"username","password"
import java.sql.*;

public class JdbcTest
{
public static void main (String args [])
throws SQLException, ClassNotFoundException
{
if (args.length < 5) {
System.out.println("Usage: java JdbcTest
");
System.exit(0); }
StringBuffer sb = new StringBuffer();
System.out.println("\nLoading class : " + args[0] + "\n");
Class.forName (args[0]);
System.out.println("URL used : " + args[1] + "\n");
Connection conn = DriverManager.getConnection(args[1],
args[2],args[3]);

Statement stmt = conn.createStatement();
for (int i = 4;i < args.length;i++) {
sb.append(args[i] + " ");
}
String sSTMT = new String(sb);
System.out.println("SQL-Statement : " + sSTMT + "\n");
ResultSet rset = stmt.executeQuery(sSTMT);
System.out.println("ResultSet : \n");
while (rset.next()){
System.out.println(rset.getString(1));
}
}
}