Como defino a variável ORACLE_HOME para a conta do Sistema Local?

1

Eu me deparei com um problema com um dos meus sistemas, onde várias versões do Oracle são instaladas para o suporte de vários aplicativos, mas eu preciso executar um programa como um serviço do Windows usando a conta do sistema local. Atualmente, estou recebendo o seguinte erro:

System.Exception: OCIEnvNlsCreate failed with return code -1 but error message text was not available.

mas eu fui informado que isso é provavelmente devido às variáveis de ambiente para a conta do sistema local que está sendo definida incorreta. Como tal, como eu realmente altero os valores para a conta do Sistema Local?

    
por rjzii 23.06.2009 / 15:05

2 respostas

3

Se você não se importar de ser definido em todo o sistema, basta defini-lo na seção Sistema da caixa de diálogo "Variáveis de ambiente" na página "Avançado" das propriedades "Meu computador". Definitivamente, isso será definido para o contexto SYSTEM. Você pode sempre superá-lo por usuário, também.

Se você realmente quiser configurá-lo apenas no contexto SYSTEM, adicione-o a: HKEY_USERS\.Default\Environment

Se você quiser usar a UI do Explorer para fazer isso, inicie um prompt de comando como SYSTEM usando o truque "at (tempo agora + 1 minuto) / CMD INTERACTIVO" da sessão de console, mate o processo do Explorer em execução como seu conta de usuário e inicie o Explorer no prompt de comando SYSTEM. (Isso está entrando em território realmente "sem suporte", e eu não necessariamente encorajo que você faça isso ...)

Acabei de definir a variável de ambiente para todo o sistema.

    
por 23.06.2009 / 15:11
1

Alternativamente, eu gostaria de criar uma conta de serviço dedicada, conceder a ela os direitos necessários, configurar o serviço para ser executado nessas credenciais e definir a variável ORACLE_HOME para o perfil dessa conta. Você descobrirá que é mais fácil auditar o que seu programa está fazendo dessa maneira também.

    
por 23.06.2009 / 15:28