Como configurar uma string de conexão Progress Openedge ODBC e JDBC

Há alguns meses nós falamos aqui sobre um problema comum do driver ODBC do Progress em ambientes windows 32 e 64 bits. Geralmente as integrações e os acessos são feitos via fonte de dados ou DSN (Data source name).


Esta é uma forma bem prática e simples, uma vez que o próprio driver fornece as coordenadas de parametrização. Entretanto, nem sempre utilizar data source é uma alternativa, seja por requisitos do projeto, limitações técnicas, segurança ou coisa do tipo. Uma outra forma de efetuar acessos ODBC é utilizar diretamente a string de conexão ou também chamada de DSN-less. Este método é muito comum em projetos PHP, .NET ou JAVA.


O objetivo deste post não é entrar em detalhes avançados, mas sim exemplificar de forma prática a maneira mais comum de se criar uma string de conexão ODBC ou JDBC Progress Openedge.


String ODBC


Para montar a string de conexão ODBC é necessário informar os seguintes parâmetros:


DRIVER - Nome e versão do driver, em geral é Progress OpenEdge seguido do número da versão; HOSTNAME - Nome ou endereço IP do servidor onde está o banco de dados; PORTNUMBER - Porta do banco de dados. Lembre-se que para conexões ODBC é necessário definir o parâmetro de carga servertype com valor both ou SQL; DATABASENAME - Nome lógico do banco de dados; USERID - Usuário de conexão do banco de dados; PASSWORD - Senha do usuário de conexão do banco de dados; DEFAULTISOLATIONLEVEL - Tipo de tratamento para transações concorrentes. Valores possíveis: 0 ou READ UNCOMMITTED, 1 ou READ COMMITTED, 2 ou REPEATABLE READ e 3 ou SERIALIZABLE. Caso a versão do driver seja maior que 6.1, use número, caso seja menor, use o string. Para simplificar, a partir do Progress 10.2BSP6 use números. Veja as versões dos drivers aqui. Veja detalhes sobre isolation level aqui.


Sendo assim, um exemplo completo de string de conexão ODBC seria:



Driver={Progress OpenEdge 11.5 Driver};HostName=10.0.0.1;PortNumber=23670; DatabaseName=nomeDoBanco;UserId=sysprogress;Password=sysprogress; DefaultIsolationLevel=0


String JDBC


Para montar uma string de conexão JDBC é necessário informar os seguintes parâmetros:


HOST - Nome ou endereço IP e porta do servidor onde está o banco de dados; DB_NAME - Nome lógico do banco de dados; USER - Usuário de conexão do banco de dados; PASSWORD - Senha do usuário de conexão do banco de dados;


Para utilizar o JDBC você tem que importar as bibliotecas installdir\java\openedge.jar e installdir\java\pool.jar. Sendo assim, um exemplo completo de string de conexão seria:



jdbc:datadirect:openedge://10.0.0.1:23670;databaseName=nomeDoBanco; user=sysprogress;password=sysprogress

Para cenários mais complexos, segue o link da documentação ODBC e JDBC.


Espero ter ajudado. Qualquer observação, comentário ou correção nos avisem!