Extrair IP pelo HostName

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
  

Mensagemem Qua, 31 Out 2018 4:04 pm

Tenho uma tabela de log que mostra quantas vezes o computador acessou uma aplicação, mas mostra somente o nome do computador.

Oracle Database 11g Release 11.2.0.4.0 - 64bit Production

Código: Selecionar todos
select UPPER(ds_maquina) ds_maquina,
count(ds_maquina) qtd_estacao
from Log_Acesso where dt_acesso between '01/10/2018' AND '10/10/2018'
and ds_maquina is not null
group by UPPER(ds_maquina)
order by UPPER(ds_maquina)


Como posso saber o IP do computador pelo nome do Micro? Tendo essa informação colocaria mais uma coluna de IP.
JonatasP

Mensagemem Ter, 11 Dez 2018 9:21 am

Bom dia.
Bom, talvez pela demora já tenhas achado a solução, mas...segue aqui algo que talvez te ajute:
Código: Selecionar todos
SELECT SYS_CONTEXT('USERENV', 'SERVER_HOST')   "Nome SERVIDOR",
         SYS_CONTEXT('USERENV', 'INSTANCE_NAME') "Instância",
         SYS_CONTEXT('USERENV', 'HOST')          "CLIENTE",
         SYS_CONTEXT('USERENV', 'IP_ADDRESS')    "IP Cliente",
         SYS_CONTEXT('USERENV', 'OS_USER')       "Usuário SO",
         SYS_CONTEXT('USERENV', 'SESSION_USER')  "Usuário BD"
          FROM    DUAL;

Com isso, você pode colocar na sua aplicação, quando usuário acessar ela, faz este select e um insert na sua tabela de log.

Qualquer coisa, grita aee.

t+
Pablo
Localização: 88350000

Pablo

Mensagemem Qua, 12 Dez 2018 5:59 pm

No artigo https://www.fabioprado.net/2010/11/recu ... uario.html do meu blog tem mais explicações sobre o SQL que o colega passou na resposta anterior.
[]s
fbifabio
Localização: São Paulo - SP

Fábio Prado
www.fabioprado.net

Mensagemem Qui, 13 Dez 2018 7:37 am

Awww TOP....eu acompanho esses blogs e sempre que vejo algo interessante, anoto em um bloco de notas e deixo salvo. Não guardo a referencia porque, na maioria das vezes, as páginas não são encontradas.

Abraços
Pablo
Localização: 88350000

Pablo

Mensagemem Sex, 28 Dez 2018 11:28 am

Obrigado pelo retorno,

Mas como eu poderia montar meu select para mostrar o IP?
JonatasP

Mensagemem Seg, 07 Jan 2019 1:04 pm

Boa tarde.
Então, teria que analisar sua aplicação, mas, poderias adicionar mais um atributo na sua tabela, do tipo Varchar2(15)....quando for fazer o insert na sua LOG_ACESSO, faz o select
Código: Selecionar todos
SELECT SYS_CONTEXT('USERENV', 'IP_ADDRESS')    "IP Cliente"
into Variavel
FROM    DUAL;

E depois insere na LOG_ACESSO.


Abraços
Pablo
Localização: 88350000

Pablo



Voltar para PL/SQL

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes