Ola!
Precisava de uma dica como capturar o ip de uma maquina (estação) usando o forms 9, preciso capturar o ip pos em uma determinada rotina de impressão so a maquna que está instalada a impressora pode imprimir...
desde já obrigado.
Indentificar IP
- passageiromr
- Rank: Estagiário Pleno
- Mensagens: 7
- Registrado em: Ter, 24 Out 2006 10:15 am
- Localização: Santa Cruz do Rio Pardo
- Contato:
-
- Rank: Programador Sênior
- Mensagens: 53
- Registrado em: Ter, 08 Jun 2004 2:59 pm
- Localização: Toledo - PR
Olha, no forms 9 não sei se tem como conseguir o IP da maquina. Precisei fazer o mesmo no forms 6i, gambiarra, mas funciona show de bola:
host ('ipconfig > c:\saida_ip.txt',no_screen);
Dai no proprio forms você abre esse arquivo para leitura e pega linha por linha e verifica se na linha existe a sequencia "Endereço IP", retira os pontos, e fica apenas com o IP...
Coloque isso num loop e vá armazenando os enderecos, pois a maquina pode possuir mais de uma placa de rede
host ('ipconfig > c:\saida_ip.txt',no_screen);
Dai no proprio forms você abre esse arquivo para leitura e pega linha por linha e verifica se na linha existe a sequencia "Endereço IP", retira os pontos, e fica apenas com o IP...
Coloque isso num loop e vá armazenando os enderecos, pois a maquina pode possuir mais de uma placa de rede
- dr_gori
- Moderador
- Mensagens: 5024
- Registrado em: Seg, 03 Mai 2004 3:08 pm
- Localização: Portland, OR USA
- Contato:
Thomas F. G
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered
Achei alguns links na "manga". Pode tentar uma dessas formas:
1. No site da Oracle, tem um LINK que tem vários exemplos de códigos. Entre eles, tem um chamado Get Client Info. INfelizmente, eu tentei baixar aqui mas deu um erro na página.
2. Esse eu não sei se vai funcionar no FORMS (é para o PLSQL Toolkit). Não tenho como testar aqui:
3. OUtra forma é tentar usar o dicionário de dados. Esse exemplo veio de um indiano chamado Braj Kishore Mahto DBA. Talvez ajude:
Hi!
There are two methods to get the IP address of form session
Let us discuss the first on
If you know the the process of the session from v$session and v$process then
on the command prompt
let suppose from v$process from v$session you got the
process to be
29791
now grep this process on apps tier
now use this process to find the ip
from above you can see the ip address of the client
172.16.18.201
Another method is
from above you know the process
go to
you will find the file as em_<process>.rti
then open the file
from here also you got the same ip address
172.16.18.201
Now you can design you program to use these concepts.
--------------------
Braj Kishore Mahto
( Senior Oracle App 11i DBA )
GIT,A.S. Watsons Ltd
Hong Kong
--------------------------------------------------
1. No site da Oracle, tem um LINK que tem vários exemplos de códigos. Entre eles, tem um chamado Get Client Info. INfelizmente, eu tentei baixar aqui mas deu um erro na página.
2. Esse eu não sei se vai funcionar no FORMS (é para o PLSQL Toolkit). Não tenho como testar aqui:
-- an example for returning the web user's IP address with PL/SQL web toolkit
PROCEDURE p_test
IS
BEGIN
HTP.PRINT
( 'Your IP address is: '
|| OWA_UTIL.get_cgi_env ('REMOTE_ADDR')
|| ''
);
END;
3. OUtra forma é tentar usar o dicionário de dados. Esse exemplo veio de um indiano chamado Braj Kishore Mahto DBA. Talvez ajude:
Hi!
There are two methods to get the IP address of form session
Let us discuss the first on
If you know the the process of the session from v$session and v$process then
on the command prompt
let suppose from v$process from v$session you got the
process to be
29791
now grep this process on apps tier
$ ps -eaf|grep 29791
applebpd 29791 8022 0 09:13:17 ? 0:28 f60webmx webfile=5,1612,cancer_9001_ebpd
$ pfiles 29791|grep AF_INET|head -2|tail -1|awk '{ print $3 }'
172.16.18.201
172.16.18.201
Another method is
from above you know the process
go to
$ORACLE_HOME/forms60/em
$ls -la em_29791.rti
-rw-r--r-- 1 applebpd dba 362 Oct 4 09:13 em_29791.rti
$ cat em_29791.rti|tail -3
connect = Tue Oct 04 09:13:18 2005 CST
ip = 172.16.18.201:1085
user = APPLSYSPUB
172.16.18.201
Now you can design you program to use these concepts.
--------------------
Braj Kishore Mahto
( Senior Oracle App 11i DBA )
GIT,A.S. Watsons Ltd
Hong Kong
--------------------------------------------------
-
- Rank: Estagiário Sênior
- Mensagens: 13
- Registrado em: Qui, 30 Nov 2006 11:42 am
- Localização: São Paulo - SP
Oi.
Pode ser usado também o SYS_CONTEXT.
Tem várias utilidades, eu uso para obter a sessão do usuário em alguns programas.
Ex:
Rodrigo Naumann
Pode ser usado também o SYS_CONTEXT.
Tem várias utilidades, eu uso para obter a sessão do usuário em alguns programas.
Ex:
SELECT SYS_CONTEXT ('USERENV', 'IP_ADDRESS')
FROM DUAL;
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes