Userenv('TERMINAL')

3 respostas
Silver_sp

Olá pessoal porque quando faço um insert em uma tabela qualquer usando o comando userenv(‘TERMINAL’) para popular uma determinada coluna em qualquer tabela tenho os seguintes resultados:

  1. Quando rodo pelo toad vai no nome da minha máquina na coluna
  2. Quando rodo via JDBC pelo Java vai “unknow” na coluna.

Alguém sabe se tenho que passar algum parâmetro, etc?

Obrigado pessoal.

3 Respostas

T

Ele diz que é para você usar algo parecido com “select sys_context(?USERENV?,'CLIENT_IDENTIFIER?) from dual”

http://www.slaviks-blog.com/category/user-identity/

userenv está obsoleto.

Silver_sp

Então para ser mais especifico, este comando userenv esta dentro de algumas procedures de um sistema no qual não posso modificar, na verdade na minha aplicação eu apenas chamo a procedure, mas como mencionei se eu rodo pelo toad show, agora pelo java da o erro de unknow onde é passado o valor de userenv.

O lance é fazer o comando usarenv funcionar via jdbc para ficar transparente e não precisar clonar as procedures.

Desde já obrigado pela atenção.

T

Eu imagino então que você tenha de passar algum valor na sua string de conexão . Isso depende se você está usando o “thin client” ou “OCI”; as sintaxes devem ser um pouco diferentes.
http://youngcow.net/doc/oracle10g/java.102/b14355/jdbcthin.htm

Criado 6 de abril de 2009
Ultima resposta 6 de abr. de 2009
Respostas 3
Participantes 2