CONEXÃO NETBEANS COM PROGRESS

Discussão em 'Banco de Dados / Database' iniciado por alinelozano, Janeiro 26, 2011.

  1. alinelozano

    alinelozano Sem Pontuação

    Bom dia,
    estou tentando realizar a conexão do Banco de Dados Progress com o NetBeans, e estou com o seguinte erro:

    run:
    Erro: No suitable driver found for jdbc:eek:penedge:T:UNIMED_1173.UNIMED.COM:50013:SQLMagazine
    CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)

    abaixo segue minha 'main' para darem uma olhada:
    package progressjdbc;

    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.Statement;
    import java.sql.DriverManager;
    import java.sql.ResultSet;


    public class Main {

    Main() {}
    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    /* String de conexão com o banco de dados */
    String urlDB = new String("jdbc:eek:penedge:T:UNIMED_1173.UNIMED.COM:50013:SQLMagazine");
    Connection con;
    Statement stmt;
    ResultSet rs;

    try {
    /* Registrando a classe do driver JDBC */
    Class.forName ("com.ddtek.jdbc.openedge.OpenEdgeDriver");
    }
    catch(Exception ex) {
    System.out.println("Erro: " + ex.getMessage());
    }
    try {
    /* Conectando-se com o banco de dados */
    con = (Connection) DriverManager.getConnection(urlDB,"UNIMED_1173.UNIMED.COM","aline123");
    String tbl = "CREATE TABLE CLIENTES (CODIGO INT NOT NULL PRIMARY KEY," +
    "NOME CHAR(50))";

    stmt = (Statement) con.createStatement();
    /* Criando a tabela CLIENTES */
    stmt.execute(tbl);

    /* Populando a tabela CLIENTES */
    stmt.execute("INSERT INTO CLIENTES VALUES(1,'SQL Magazine')");
    stmt.execute("INSERT INTO CLIENTES VALUES(2,'Java Magazine')");
    stmt.execute("INSERT INTO CLIENTES VALUES(3,'.NET Magazine')");
    stmt.execute("INSERT INTO CLIENTES VALUES(4,'Clube Delphi')");

    System.out.println("\nListando os registros da tabela");
    System.out.println("----------------------------------------------------------------");
    rs = stmt.executeQuery("SELECT * FROM CLIENTES");

    /* Listando os registros da tabela */
    while(rs.next()) {
    System.out.println(rs.getInt(1) + " " + rs.getString(2));
    }

    System.out.println("\nConexão com Progress efetuada com sucesso...");
    }
    catch(Exception e) {
    System.out.println("Erro: " + e.getMessage());
    }
    }

    }


    Espero que me ajudem.
    Obrigada.
  2. kirchner

    kirchner Membro Participativo Moderador

    alinelozano,

    Você não citou qual versão do OE está utilizando, mas para as versões 10 a string de conexão JDBC é assim:
    Código:
    jdbc:datadirect:openedge://<server>:<porta>;databaseName=<banco>
    Os arquivos JAR que compões o driver JDBC do OE precisam estar no teu CLASSPATH também, senão o java não vai encontrá-los...
  3. alinelozano

    alinelozano Sem Pontuação

    Estou usando a versão10.1B do Progress, e eu já adicionei a biblioteca o openedeg.jar, base.jar e util.jar.

    Mudei o código para:
    "jdbc:datadirect:eek:penedge://192.168.0.95:50013;SQLMagazine"

    mas deu o seguinte erro:
    run:
    Erro: [DataDirect][OpenEdge JDBC Driver]Unable to connect. Invalid URL.
    CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)


    Obrigada, e no aguardo!!
    Aline
  4. kirchner

    kirchner Membro Participativo Moderador

    Aline,

    Agora o Java achou o driver, tanto que o erro foi gerado pelo driver do OE.
    Faltou databaseName=. Muda tua string para isto:
    Código:
    jdbc:datadirect:openedge://192.168.0.95:50013;databaseName=SQLMagazine
  5. alinelozano

    alinelozano Sem Pontuação

    Alterei, agora o seguinte erro ocorreu:

    run:
    Erro: com.ddtek.jdbc.openedge.OpenEdgeConnection cannot be cast to com.mysql.jdbc.Connection
    CONSTRUÍDO COM SUCESSO (tempo total: 5 segundos)


    Obrigada, e no aguardo.

    Aline
  6. kirchner

    kirchner Membro Participativo Moderador

    OK, conectou então. Está tudo certo com a conexão e com o driver.
    Mas teu código está tentando converter um objeto OpenEdgeConnection para uma conexão do tipo MySQL.

    Sugestão. Altera isto:
    Código:
    import com.mysql.jdbc.Connection;
    import com.mysql.jdbc.Statement;
    Por isto:
    Código:
    import java.sql.Connection;
    java.sql.Statement;
    A recomendação é sempre utilizar as interfaces genéricas do Java, nunca a implementação específica do banco de dados.

Compartilhe esta Página