| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2009 12:34:31
|
debona
Thread.start()
Membro desde: 18/02/2009 15:55:02
Mensagens: 35
Localização: Curitiba
Offline
|
Boa Tarde,
Seguinte,
estou tentando fazer um insert via jdbc,
só que neste último campo, que eu coloco o sys_context,
quando eu faço select na tabela, mostra 'unknown'
se eu tento fazer o insert diretamente pelo banco, ele coloca o nome certo da máquina,
ai, pensei em fazer um trigger que faça isso para mim
mas o problema é que ela compila corretamente,
mas na hora que eu vou ver os registros está exatamente igual, ou seja,
ela não está fazendo nada....
gostaria de uma luz!
Abraços,
Leonardo De Bona
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2009 13:49:30
|
lucao
Java Ninja
![[Avatar]](/images/avatar/d5036c64412973d610202be8dce2b82a.jpg)
Membro desde: 20/12/2004 11:38:33
Mensagens: 298
Localização: Santos/SP
Offline
|
Amigo, é bom saber qual o banco.
Pela sintaxe imagino que seja Oracle não é ?
E outra coisa não concatene a SQL.
Agora quanto ao assunto, quando você vai pelo servidor de aplicação ele realmente não consegue pegar o terminal, fica como unknown. Você vai conseguir pegar a maquina procurando na V$Session, na coluna MACHINE.
Mas todas vão vir com o mesmo nome já que todas vêm do servidor de aplicação.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2009 15:17:51
|
debona
Thread.start()
Membro desde: 18/02/2009 15:55:02
Mensagens: 35
Localização: Curitiba
Offline
|
é oracle msm...
eu tentei usar a V$Session,
quando eu executava o select não tinha problemas,
mas quando executava a trigger dava pau...
eu pensei que era pq a role tinha acesso a essa tabela, não meu usuário,
dei um grant para select e o problema persistiu,
ae eu usei o sys_context,
eu já verifiquei, ele busca corretamente a máquina,
o problema, não sei pq, é no update...
aguardo mais ajuda e obrigado!!!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/03/2009 21:35:54
|
lucao
Java Ninja
![[Avatar]](/images/avatar/d5036c64412973d610202be8dce2b82a.jpg)
Membro desde: 20/12/2004 11:38:33
Mensagens: 298
Localização: Santos/SP
Offline
|
Mas qual era esse erro que você disse que dava com a trigger ?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/03/2009 07:18:29
|
debona
Thread.start()
Membro desde: 18/02/2009 15:55:02
Mensagens: 35
Localização: Curitiba
Offline
|
Cara,
era erro de grant msm,
só que eu não estou conseguindo ver o motivo pelo qual não está alterando nada
essa trigger,
olha o código com a v$session
CREATE OR REPLACE TRIGGER gvt_trg_insere_maquina
BEFORE INSERT
ON dados
FOR EACH ROW
DECLARE
maquina VARCHAR (100);
usuario VARCHAR (100);
BEGIN
SELECT osuser, LTRIM (program) || '#' || RTRIM (machine)
INTO usuario, maquina
FROM v$session
WHERE audsid = USERENV ('SESSIONID')
AND SID = (SELECT MAX (SID)
FROM v$session
WHERE audsid = USERENV ('SESSIONID'));
UPDATE dados
SET terminal = maquina,
login = usuario
WHERE pon = :NEW.pon;
END;
/
esse update, parece não estar sendo efetuado...
|
|
|
 |
|
|
|
|