1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Conexão ODBC

Discussão em 'Progress 4GL' iniciado por Nilton86, Setembro 30, 2020.

  1. Nilton86

    Nilton86 Sem Pontuação

    Bom dia amigos !!

    Quero desenvolver uma aplicação que conecte no banco de dados Progress via ODBC porém desconheço como tudo funciona
    Pesquisando a respeito achei um post que dizia para eu entrar no 'Administrador de Fonte de Dados ODBC' e adicionar uma conexão do banco Progress. Na inclusão é necessário informar a porta do banco só que na base que tenho para treinamento os bancos são locais e na PF não existe o parametro da porta dos bancos

    Como consigo saber qual as porta dos bancos quando não é informado na PF ?? Tentei abrir o Progress Explorer Tools para verificar as portas porém o mesmo não abre

    Tenho muitas dúvidas sobre este assunto , se alguem conhecer sobre isso e puder compartilhar o conhecimetno seria de muita ajuda

    Desde já agradeço a atenção
  2. bootstrapmaster

    bootstrapmaster Membro Master

    vc vai ter que subir a sua base em multi-usuario, dai vc mesmo informa o dados de -TCP -S (porta)
  3. Nilton86

    Nilton86 Sem Pontuação

    Bom dia Richard,

    Um colega que conhecia bem de bancos acabou me ajudando com isso

    Agora estou com outro problema, a conexão ODBC e teste funciona porém ao tentar conectar com o Apache e o PHP apresenta o seguinte erro :

    Warning: odbc_connect(): SQL error: [Microsoft][ODBC Driver Manager] O DSN especificado cont�m uma incompatibilidade de arquiteturas entre o Driver e o Aplicativo, SQL state IM014 in SQLConnect in C:\xampp\htdocs\index.php on line 18
    Não foi possivel conectar com o Banco!!!

    Não sei se o script PHP esta com erro ou se esta acontecendo isso por conta do meu ambiente ser 64 bits e o Progress e o driver da ODBC ser 32 bits .

    Abaixo meu script PHP:

    <?php

    $conexao = odbc_connect("App","sysprogress","sysprogress",SQL_CUR_USE_ODBC)
    or die ("Não foi possivel conectar com o Banco!!!");

    ?>
  4. bootstrapmaster

    bootstrapmaster Membro Master

    eu não entendo muito, mas quando vc levantou o banco, vc indicou que terá acesso SQL, tem umas clausulas na carga do servidor que indica isso, tem a questão do usuario ter liberação pro acesso, e tem que ter uma URL de acesso né ? o tal do DSN, eu fiz só uma vez isso pra testar o ECLIPSE no openEdge e depois não mexi mais.
  5. Renan Cano

    Renan Cano Membro Participativo

    Felizmente eu ja passei pelo mesmo problema, porem consegui resolver a boa noticia é que seu codigo está correto, eu mesmo executei seu codigo.
    A versao do PHP/Xampp deve ser a msm versao do driver ODBC, no meu caso meu progress é 32 bit entao meu drive ODBC tbm, mas quando vc instala as ultimas versões do PHP ou Xamp ele só está disponivel em 64 bit, vc deve pegar uma versão um pouco mais antiga do Xamp que é a 7.3.1 foi a ultima que era 32 bit, porem usa o PHP 7 tbm, se vc n usa Xamp o php tem q ser 32 na hora de instalar.
    Depois disso é só rodar que vai funcionar.

    Código e Resultado do meu teste.

    <?php
    //$conn=odbc_connect(nome DSN, usuario, senha)
    $conn=odbc_connect('SERVER','sysprogress','sysprogress');
    if (!$conn) {
    exit("Connection Failed: " . $conn);
    }


    $sql="SELECT * FROM pub.CST_Plano_Acao";
    $rs=odbc_exec($conn,$sql);

    if (!$rs) {
    exit("Error in SQL");
    }

    while($row = odbc_fetch_array($rs)){

    echo $row['data'];
    echo "<BR>";
    }
    odbc_close($conn);
    echo "</table>";

    ?>

    upload_2020-10-2_14-19-40.png
  6. Nilton86

    Nilton86 Sem Pontuação

    Muito obrigado Renan !!! Suas dicas foram muito valiosas, instalei o Xamp na versão que me orientou com 32 bit e fucionou certinho !!!

    Agora consigo iniciar meus estudos

    Muito Obrigado e grande abraço !!

Compartilhe esta Página