Derruba conexão do Usuário do Banco de Dados!

Discussão em 'Banco de Dados / Database' iniciado por rodolpho_borges, Junho 13, 2011.

  1. rodolpho_borges

    rodolpho_borges Sem Pontuação

    Boa noite a todos!

    Segue abaixo , um código para derrubar a conexão do usuário do banco!

    Se alguém tiver algum comentário ou correção em relação ao código , fiquem à vontade ...

    Usem, modifiquem, compartilhem !

    Código:
    [code]def var idusuario as character initial "" .
    def var login     as character initial "" .
    
    /* output to c:\serious\spool\bla.txt . */
    
    form login label "Login do Usuario"     with frame selecao
               side-labels
               centered
               overlay
               no-label
               title "Derruba Usuario"
               row 1.
              
    update login
           with frame selecao.
           
    
    
    /************** EMS5 **************/
    RUN DERRUBA_EMSFIN .
    RUN DERRUBA_EMSEDI .
    RUN DERRUBA_EMSBAS .
    RUN DERRUBA_EMSUNI .
    /**********************************/
    
    /************** GPS **************/
    RUN DERRUBA_SRCADGER .
    RUN DERRUBA_SRMOVBEN .
    RUN DERRUBA_SRMOVCON .
    RUN DERRUBA_SRMOVFIN.
    RUN DERRUBA_SRMOVFI1.
    RUN DERRUBA_SRWEB.
    /**********************************/
    
    /************** EMS2 **************/
    RUN DERRUBA_MGADM .
    RUN DERRUBA_MGADT .
    RUN DERRUBA_MGCEX .
    RUN DERRUBA_MGFIS.
    RUN DERRUBA_MGCLD.
    RUN DERRUBA_MGDIS.
    RUN DERRUBA_MGIND.
    RUN DERRUBA_MGINV.
    RUN DERRUBA_MOVADM.
    RUN DERRUBA_MOVDIS.
    RUN DERRUBA_MGMFG.
    RUN DERRUBA_MOVIND.
    RUN DERRUBA_MOVFIS.
    RUN DERRUBA_MOVMFG.
    RUN DERRUBA_MOVMNT.
    RUN DERRUBA_MGMP.
    RUN DERRUBA_MOVRAC.
    RUN DERRUBA_MGMRP.
    RUN DERRUBA_MGRAC.
    RUN DERRUBA_MGSCM.
    RUN DERRUBA_MGTMP.
    RUN DERRUBA_MGUNI.
    RUN DERRUBA_WMOVDIS.
    /**********************************/
    
    message "Usu rio " + input frame selecao login + " foi derrubado!" view-as alert-box .
    
    procedure DERRUBA_EMSFIN .
    
        find first emsfin._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems5\emsfin -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    procedure DERRUBA_EMSEDI .
    
        find first emsedi._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems5\EMSEDI -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    procedure DERRUBA_EMSBAS .
    
        find first EMSBAS._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems5\EMSBAS -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_EMSUNI .
    
        find first EMSUNI._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems5\EMSUNI -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_SRCADGER .
    
        find first srcadger._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
        dos silent VALUE('c:\OpenEdge\bin\proshut c:\prototib\bancos\gpl\serious\srcadger -C disconnect ' + idusuario).
        
             
    END PROCEDURE .
    
    
    procedure DERRUBA_SRMOVBEN .
    
        find first SRMOVBEN._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut c:\prototib\bancos\gpl\serious\SRMOVBEN -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_SRMOVCON .
    
        find first SRMOVCON._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut c:\prototib\bancos\gpl\serious\SRMOVCON -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_SRMOVFI1 .
    
        find first SRMOVFI1._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut c:\prototib\bancos\gpl\serious\SRMOVFI1 -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_SRMOVFIN .
    
        find first SRMOVFIN._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut c:\prototib\bancos\gpl\serious\SRMOVFIN -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_SRWEB .
    
        find first SRWEB._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut c:\prototib\bancos\gpl\serious\SRWEB -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGADM .
    
        find first MGADM._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2adm -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGADT .
    
        find first MGADT._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2adt -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGCEX .
    
        find first MGCEX._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2cex -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    
    procedure DERRUBA_MGFIS .
    
        find first MGFIS._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2fis -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGCLD .
    
        find first MGCLD._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2CLD -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGDIS .
    
        find first MGDIS._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2DIS -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    
    procedure DERRUBA_MGIND .
    
        find first MGIND._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2IND -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGINV .
    
        find first MGINV._UserIO  
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2INV -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MOVADM .
    
        find first MOVADM._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\MOV2ADM -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MOVDIS .
    
        find first MOVDIS._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\MOV2DIS -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    
    procedure DERRUBA_MGMFG .
    
        find first MGMFG._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2MFG -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    
    procedure DERRUBA_MOVIND .
    
        find first MOVIND._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\MOV2IND -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MOVFIS .
    
        find first MOVFIS._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\MOV2FIS -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    
    procedure DERRUBA_MOVMFG .
    
        find first MOVMFG._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\MOV2MFG -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    
    procedure DERRUBA_MOVMNT .
    
        find first MOVMNT._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\MOV2MNT -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    
    procedure DERRUBA_MGMNT.
    
        find first MGMNT._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2MNT -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    
    procedure DERRUBA_MGMP.
    
        find first MGMP._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2MP -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MOVRAC.
    
        find first MOVRAC._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\MOV2RAC -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    
    procedure DERRUBA_MGMRP.
    
        find first MGMRP._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2MRP -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGRAC.
    
        find first MGRAC._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2RAC -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGSCM.
    
        find first MGSCM._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2SCM -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGTMP.
    
        find first MGTMP._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2TMP -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_MGUNI.
    
        find first MGUNI._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\ems2UNI -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    
    procedure DERRUBA_WMOVDIS.
    
        find first WMOVDIS._UserIO
             where _UserIO-Name = input frame selecao login.
        
        if _UserIO-Name <> login then next .
        
        assign  idusuario =STRING(_UserIO-Usr) .
        
    
        
        dos silent VALUE('c:\OpenEdge\bin\proshut C:\prototib\bancos\gpl\ems2\WMOV2DIS -C disconnect ' + idusuario).
    
             
    END PROCEDURE .
    
    [/code]

    Abraço à todos!
  2. kirchner

    kirchner Membro Participativo Moderador

    Rodolpho,

    Faltou citar que este código precisa executar no mesmo servidor onde está o banco de dados.
    Como sugestão adicional, eu criaria uma procedure de derruba e passaria o nome do banco via parâmetro. Você terá que usar query dinâmica, mas acho que fica muito mais curto e manutenível o código.
  3. rodolpho_borges

    rodolpho_borges Sem Pontuação

  4. lm1979

    lm1979 Membro Participativo

    Boa tarde Rodolpho,
    Você chegou a alterar o programa conforme a sugestão dada?
    Você tem uma nova versão desse programa?

    Att,
    Leandro.
  5. rodolpho_borges

    rodolpho_borges Sem Pontuação

    Boa tarde ,

    Não cheguei a implementar a alteração sugerida .

    Pelo menos hoje, não tenho nenhuma previsão de alteração do programa, pois o mesmo atende as expectativas .

    Att
  6. lm1979

    lm1979 Membro Participativo

    Boa tarde Rodolpho,
    Então vou pegar o código e fazer alguns testes no meu ambiente.

    Att,
    Leandro.

Compartilhe esta Página