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

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Duvida Conectar Banco Progress Via Programa

Discussão em 'Progress 4GL' iniciado por fernandofarah, Outubro 28, 2014.

  1. fernandofarah

    fernandofarah Membro Participativo

    Olá, bom dia.

    Estou tentando fazer um programa para conexão progress abaixo, sendo que está dando erro, que não consigo entender, alguém?

    IF l-confirma = Yes THEN DO:
    output to value (session:temp-dir + "conexao.log").
    connect -db c_db -ld c_ld -S c_port -H c_server -N "TCP".
    output close.
    end.

    Erro:

    NÆo foi poss¡vel encontrar o host c_server no arquivo HOSTS ou o arquivo HOSTS nÆo foi encontrado no local esperado. (5193)

    Sendo que as variáveis estão com os valores corretos.
  2. rhemati

    rhemati Membro Participativo

    Fernando, boa tarde. Tudo bem.

    Eu uso desta forma:
    procedure pi-conecta-ems5:

    if not connected( 'ems5' ) then do:
    connect -db ems5 -ld ems5 -S 55000 -H 10.1.0.222 -N tcp.
    end.

    end procedure.
  3. fernandofarah

    fernandofarah Membro Participativo

    Boa tarde.

    Pois é, eu fazendo os nomes de forma fixa consigo conectar, mas quando passo em variáveis ele parece não aceitar..

    bye!
  4. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

    Caro colega,

    Você pode ter sucesso com uma das duas opções abaixo:

    Código:
    def var c_conecta       as character        no-undo.
    def var c_db            as character        no-undo.
    def var c_ld            as character        no-undo.
    def var c_port          as character        no-undo.
    def var c_server        as character        no-undo.
    
    def var l-confirma      as logical          no-undo     init yes.
    
    if l-confirma = yes then do:
    
        assign  c_db      = "ems2com"
                c_ld      = "mgmult"
                c_port    = "14500"
                c_server  = "10.40.1.43"
                c_conecta = "-db " + c_db + " -ld " + c_ld + " -S " + c_port + " -H " + c_server + " -N TCP ".
    
        output to value (session:temp-directory + "conexao.log").
    
        /***** Opção 01 *****/
        connect value(c_conecta).
    
        /***** Opção 02 *****/
        connect -db value(c_db) -ld value(c_ld) -S value(c_port) -H value(c_server) -N TCP.
    
        output close.
    
    end.
    
    don.junior curtiu isso.
  5. Eilleen

    Eilleen Membro Ativo

    Boa tarde!
    Se você precisa que seja o nome da variável tem que usar a função VALUE, senão o Progress entende que o nome da variável é na verdade o nome do banco.

    No seu exemplo:
    connect -db VALUE(c_db) -ld VALUE(c_ld) -S VALUE(c_port) -H VALUE(c_server) -N "TCP".

    Espero ter ajudado. :)
    don.junior curtiu isso.
  6. fernandofarah

    fernandofarah Membro Participativo

    Boa tarde.

    Obrigado a todas as respostas, problema solucionado adicionando o value().

    obrigado!

Compartilhe esta Página