Ferramenta gráfica para conectar o Progress via JDBC

Escrito por Eloi Rene Pscheidt em 21 de maio de 2009, 14:52h

A partir da versão 10 o Progress não instala mais a sua ferramenta gráfica para conexões JDBC, chamada SQL Explorer Tools. Nestas versões existe apenas uma versão caracter chamada PROEXP ou então o DBNavigator existente na licença OpenEdge Architect.

Entretanto ele permite que qualquer ferramenta que suporte conexões JDBC 3.0 ou superior seja utilizada, bastando para isso registrar o seu driver JDBC de forma correta.

A seguir um pequeno exemplo de utilização da ferramenta SQL Squirrel, que é gratuita e permite conectar uma variedade de bancos de dados, como Oracle, SQL Server, DB2, Firebird e outras.

No seu site há informações de como efetuar o download da ferramenta e sua instalação, além da documentação do produto e demais informações importantes. Em linhas gerais baixa-se um arquivo de instalação .jar e executa-se o seguinte comando para instalação:

java -jar squirrel-sql-<version>-install.jar

Daí em diante basta seguir a tela de instalação que será apresentada.

O pré-requisito é ter o Java já instalado. Quais versões de Java a utilizar estão descritas na documentação do Squirrel.

Em meu exemplo utilizei o Java JRE 1.6.0_13 com o Squirrel 2.6.8 em Windows Vista 32 bits com Service Pack 1.

Depois de instalado é preciso registrar o driver JDBC do Progress. A seguinte tela ilustra esta operação:

SQLSquirrel01

Clique no botão “+” e na tela que segue registre as seguintes informações:

Name: qualquer nome para identificar este driver, utilizei Progress 10.2A

Example URL: um exemplo do formato da URL de conexão JDBC do Progress. Informe o valor "jdbc:datadirect:openedge://<hostname>:<port>;databaseName=<dbname>"

Website URL: informação opcional, utilizei www.progress.com

ClassName: nome do driver JDBC. Informe o valor com.ddtek.jdbc.openedge.OpenEdgeDriver

Na aba Extra Class Path, informe estes três arquivos localizados no diretório de instalação do Progress, na sub-pasta Java:

SQLSquirrel02

Após o driver ser registrado com sucesso, será possível encontrá-lo com uma marca de OK na seguinte tela:

SQLSquirrel03

Após isso será necessário criar um alias que apontará para o banco de dados que você deseja utilizar. Em meu exemplo criei um banco de dados sports e carreguei na porta 45000, conforme a tela:

SQLSquirrel04

Depois de criado o usuário SYSPROGRESS nesta base, crie um novo alias no Squirrel conforme a tela a seguir:

SQLSquirrel05

Informe o nome do alias, escolha o driver recém registrado e ajuste os demais valores.

Na URL, altere o formato conforme o exemplo: jdbc:datadirect:openedge://localhost:45000;databaseName=sports

Clique no botão Test, confirme os dados na tela que aparecerá  e clique em Connect. Se tudo estiver correto, aparecerá a seguinte mensagem:

SQLSquirrel06

Após isso o novo alias estará criado. Para utilizá-lo, selecione o alias na lista e clique no botão conectar, conforme a imagem:

image

Após conectar ao alias, você poderá utilizar o SQL SQuirrel para navegar pelas tabelas do banco de dados, conforme a figura a seguir:

image

Também é possível executar comandos SQL na aba “SQL”, conforme a imagem a seguir:

image

Categorias: Conectividade

Tags: , , ,

Comentários (29) -

em 21 de maio de 2009, 17:15h

Fantástica essa dica!
Muito util para o dia a dia, pois agora podemos concentrar nossas analises de Banco em apenas uma ferramenta.

Sds,
Vithor da Silva e Silva

Vithor da Silva e Silva

em 9 de junho de 2009, 07:18h

Un tutorial muy util, sobre todo la conexion a progress

obrigado

jc&j

em 22 de julho de 2009, 21:18h

Ótimo tutorial ... vlw mto pela dica de ferramente de acesso de dados ...
abs

Luciano Seibel

em 30 de junho de 2010, 17:28h

Bom tutorial, mas uma pergunta , onde encontro o jdbc do openedge (minha versão é 10.2a)

Rafael

em 1 de julho de 2010, 08:09h

Olá Rafael,

o driver JDBC do Progress é composto por três arquivos: openedge.jar, base.jar e util.jar, localizados na pasta de instalação do Progress, no subdiretório "java". Clique sobre a segunda figura deste post, assim ela será expandida e facilitará a visualização. Nesta figura estes três arquivos são anexados ao SQuirrel na configuração do driver.

Abraços!
Eloi

eloi

em 2 de julho de 2010, 12:24h

Estou tentando usar o acesso com broker SQL, mas não estou conseguindo.
Estou iniciando o banco de desenvolvimento com os seguintes parametros:
proserve /bcodes/des  -H ardo1  -S 31011 -N tcp -n 4 -Mn 15 -Ma 5 -Mpb 4 -ServerType SQL
proserve /bcodes/des  -H ardo1  -S 31012 -N tcp -m3 -Ma 4 -Mpb 10 -ServerType 4GL

Ao tentar logar no  squirrel da a segunte mensagem:
desenvol: [DataDirect][OpenEdge JDBC Driver]OE Broker fails to start SQL server.

o banco esta em um servidor hp-ux (openedge 10.2A), e o cliente é windows

Rafael

em 2 de julho de 2010, 14:29h

Rafael,

verifique no endereço de soluções da Progress(progress.atgnow.com/esprogress/categoryBrowse.do), pode ser alguma particularidade do HP-UX. Há também outro post neste Blog comentando sobre os parâmetros de carga para suportar conexões JDBC/ODBC (ingleses.datasul.com.br/.../...exoes-ODBCJDBC.aspx).

eloi

em 14 de julho de 2010, 16:55h

Olá, eu consgigo conectar via odbg?

[]'s

Pedro

em 14 de julho de 2010, 16:55h

odbc***

Pedro

em 15 de julho de 2010, 10:45h

Pedro,

é possível conectar o Progress via ODBC e também utilizar esta conexão através do SQuirrel. Para isso basta primeiro criar a conexão ODBC e depois informá-la no SQuirrel, optando pelo driver "ODBC JDBC Bridge". No <alias> informar o nome do DSN que você criou.

Um abraço!
Eloi

eloi

em 10 de setembro de 2010, 18:38h

Olá Eloi,

foi criado um novo schema diferente do PUB com essa ferramenta squirrel em um banco hcm.db dentro desse novo schema foi criado tambem varias tabelas, a duvida é como faço para enxergar esse novo schema com a ferramenta desktop do progress ver. 10.1c. Porque eu so consigo enxergar as tabelas padrão do produto hcm e não as que foram criada no novo schema.

Luciano

em 13 de setembro de 2010, 09:07h

Luciano,

Via 4GL você só pode utilizar tabelas do schema PUB. É uma restrição dos client Progress mesmo.
Tabelas em schemas não-PUB só podem ser utilizadas através de SQL. Se você precisa de acesso através de 4GL deve recriar as tabelas no schema PUB mesmo.

kirchner

em 13 de setembro de 2010, 11:08h

Ok! Muito obrigado Kirchner vou fazer isso.

Luciano

em 6 de janeiro de 2011, 15:17h

Muito bom amigo.

Resolveu o meu problema.

Abraços.

Amigão

em 12 de janeiro de 2011, 11:57h

Olá Eloi estou com uma dificuldade em importar um sql, conecto ao banco tudo ok.
mas quando mando executar o sql ele da o seguinte erro.
Error: [DataDirect][OpenEdge JDBC Driver][OpenEdge] Nenhum privilegio de recursos (7574)
SQLState:  HY000
ErrorCode: -20057
Error occured in:
CREATE TABLE ID_GEN
( SEQ_NAME varchar(255),
  SEQ_COUNT int )

podes me ajudar?
abraço.
Maurício.

Mauricio Frare

em 12 de janeiro de 2011, 14:02h

Maurício,

O usuário que você está usando não tem permissão RESOURCE. Você deve conectar como DBA e executar algo do tipo:

GRANT RESOURCE TO <teu_usuario>;
COMMIT;

Depois disso você deve conseguir criar a tabela.

kirchner

em 8 de fevereiro de 2011, 15:05h

Eloi, você saberia dizer se existe algum parâmetro que pode ser utilizado na URL Jdbc de forma a limitar essa conexão ao banco Progress como somente leitura?  Se não, existe uma forma de deixar o usuário sysprogress com permissão de somente leitura no banco Progress?

Obrigado
Bruno

Bruno

em 8 de fevereiro de 2011, 16:35h

Bruno,

Com o usuário sysprogress eu não saberia dizer. Por padrão ele tem permissões de DBA, não sei se é possível alterar.
O que você pode fazer é criar um novo usuário e dar permissão de SELECT apenas para as tabelas que você precisar.

O comando fica:
GRANT SELECT ON <tabela> TO <usuario>;
COMMIT;

kirchner

em 25 de abril de 2011, 11:59h

Muito Bom!!!

Segui os passos e funcionou direitinho.

Obrigado,
Marcos

Marcos

em 18 de maio de 2011, 08:18h

Antes de mais nada excelente tutorial!
Quando eu tento criar o alias para o banco sports o squirrel o proenv me retorna a mensagem "Não foi possível conectar um banco de dados no diretorio $DLC. (1379)
Fim de sessão Procopy. (334)"
Sou principiante e realmente não sei o que está havendo.
Se alguém puder me ajudar...
Abraços a todos!

Fabrício

em 18 de maio de 2011, 15:33h

Fabrício,

É provável que você está tentando criar/carregar/usar/copiar um banco dentro do diretórios dos programas do Progress. Isto não é permitido.
Crie um outro diretório para o banco e faça um novo teste.

kirchner

em 11 de agosto de 2011, 08:10h

Bom dia.
Kircher, usando este programa, sabe como posso conectar em mais de um banco na mesma sessão?
Por exemplo, tenho as tabelas nota-fiscal e it-nota-fisc no mgmov e as tabelas item e emitente no mgcad, e quero fazer uma consulta usando todas.
Obrigado.

Lucas

em 11 de agosto de 2011, 10:02h

Lucas,

Isso só é possível a partir do 10.1B. Procure pelo post "Conectando vários bancos Progress no mesmo acesso ODBC/JDBC" aqui no blog.

kirchner

em 23 de setembro de 2011, 11:01h

Bom dia a Todos,
Atraves do usuario PUB, não estou conseguindo visualizar os dados da maioria das tabelas do banco ems2cad sendo apresentado a msg de Logged by net.sourceforge.squirrel_sql.client.session.mainpanel.objecttree.tabs.BaseDataSetTa, creio que falte algum plugin para visualizar os dados do banco progress através da ferramenta, alguem saberia de algo para solucionar?

Tiago

em 23 de setembro de 2011, 16:21h

Olá Tiago!
Pelo sqlexp do Progress, utilizando esta mesma url (também com usuário PUB), você consegue visualizar?

eloi

em 6 de outubro de 2011, 16:16h

Eu não tenho esse conhecimento de pesquisa no sql do progress,porem eu fiz a conexão via driver conforme o tutorial e via ODBC ambos no Squirrel, porem as duas conexões deixam de apresentam os dados de algumas tabela povoadas. Tenho a impressao que devido alguns campos do progress ter a tratativa diferente para varchar ou algum nesse sentindo esteja faltando algum plugin.

Tiago

em 10 de outubro de 2011, 15:23h

Olá Tiago!
Desconheço a necessidade de instalar plugins no Squirrel para isso.
Se desejar me envie o dump das tabelas, bem como qual é a versão de Progress, quais são as tabelas e os dados que não aparecem, para eu tentar reproduzir no meu ambiente.
Pode mandar para o meu e-mail, assim que possível darei uma atenção.

eloi

em 11 de outubro de 2011, 15:23h

Olá Eloi, eu utilizo o Progress 10.1B Português , o meu produto é o EMS Start 2.04, notei que o Squirrel apresenta uma msg de erro na tabela "item" justamente a tabela o qual não consigo visualizar os dados povoados, "Column char-2 in table PUB.item has value exceeding its max length or precision". aparentemente eu não estou conseguindo pegar os dados da tabela do Progress e Setar no Squirrel, e tambem  eu não consigo listar os dados via ODBC através de comandos SQL utilizando aplicação Java.

Tiago

em 11 de outubro de 2011, 16:49h

Tiago!
Esse erro você consegue corrigir executando o utilitário 'dbtool' do Progress. No Prompt de comando, execute 'dbtool <nome_do_banco>'. Na tela que aparecerá, escolha a segunda opção: para ajustar e corrigir a propriedade sql-width dos campos. A seguir informe os valores conforme serão solicitados em tela. No final será reportado quantos campos foram corrigidos. No momento de informar a tabela, pode informar apenas a tabela item, se assim desejar. É importante efetuar um backup do banco antes de qualquer ação.

eloi

Comentar




biuquote
  • Comentário
  • Pré-visualização
Loading


Acesso LogMeIn

Informe o código PIN: