Pegar nome do Computador

Dicas do Oracle Forms Builder - Blocos, Itens, LOV, Canvas, Triggers, comandos, PLL, d2kwutil, FMB, Alert, menus, etc
Responder
diegorp
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 49
Registrado em: Seg, 23 Mar 2009 10:44 am
Localização: Sapiranga - RS

Boa Tarde. Teria como o forms pegar o nome do computador em que ele esta rodando?
RJG
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 79
Registrado em: Ter, 16 Mai 2006 11:40 am
Localização: Patos de Minas - MG

Selecionar tudo

select userenv('TERMINAL') from dual;
aí você pode jogar numa variavel o fazer o que quiser!!
dcp
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Ter, 17 Set 2013 11:02 am

beleza a solução do nosso amigo RJG é valida somente local, e quando rodamos no servidor como faço ?
RJG
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 79
Registrado em: Ter, 16 Mai 2006 11:40 am
Localização: Patos de Minas - MG

Selecionar tudo

 SELECT  host_name
 FROM    v$instance
:D
dcp
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Ter, 17 Set 2013 11:02 am

Obrigado amigo achei essa solução também..

agora tenho o seguinte esquema, tenho uma aplicação padrão em um ambiente onde todas as outras aplicações herdam o perfil dela. Tudo no servidor, ai preciso que apareça na tela de cada computador que acessa essa aplicação o nome do computador. Teria que ser via código no forms dentro desse form " padrão".
ex.

Selecionar tudo

 Declare
    v_maquina varchar2(50);    
   Begin
    
    select userenv('TERMINAL') 
      into v_maquina
      from dual;    
    :TOOLBAR.MAQUINA := v_maquina ;    
    end;
mas assim consigo local. Preciso executar esse form dentro do servidor e cada cliente visualizando seu computador.
RJG
Rank: Analista Júnior
Rank: Analista Júnior
Mensagens: 79
Registrado em: Ter, 16 Mai 2006 11:40 am
Localização: Patos de Minas - MG

Existe um view padrão no Oracle chamada
V$SESSION

Selecionar tudo

desc V$SESSION
SADDR          
SID            
SERIAL#        
AUDSID         
PADDR          
USER#          
USERNAME       
COMMAND        
OWNERID        
TADDR          
LOCKWAIT       
STATUS         
SERVER         
SCHEMA#        
SCHEMANAME     
OSUSER         
PROCESS        
MACHINE        
PORT           
TERMINAL       
PROGRAM        
TYPE ................ 

ela contem informações da sessão e pode te ajudar!
contém colunas interessantes como OSUSER,TERMINAL,MACHINE.....

com esse select dentro do FORMS você pega os dados da própria sessão!

Selecionar tudo

declare
  session_id number;
begin
  select sid
     into :tparam.session_id
  from v$session
     where audsid = userenv('sessionid');
end;
Responder
  • Informação