Comment puis-je définir la variable ORACLE_HOME pour le count du système local?

J'ai rencontré un problème avec l'un de mes systèmes où plusieurs versions Oracle sont installées pour le support de diverses applications, mais je dois exécuter un programme en tant que service Windows à l'aide du count système local. Actuellement, je reçois l'erreur suivante:

System.Exception: OCIEnvNlsCreate a échoué avec le code de return -1 mais le text du message d'erreur n'était pas disponible.

mais j'ai été informé que cela est probablement dû au fait que les variables d'environnement pour le count du système local sont incorrectes. En tant que tel, comment puis-je modifier les valeurs du count du système local?

Si cela ne vous dérange pas d'être réglé sur l'set du système, il suffit de le configurer dans la section Système de la boîte de dialog "Variables d'environnement" dans la page "Avancé" des propriétés "Poste de travail". Cela le définira définitivement pour le context SYSTEM. Vous pouvez toujours le surcharger par user, aussi.

Si vous souhaitez vraiment le définir uniquement sur le context SYSTEM, ajoutez-le à: HKEY_USERS\.Default\Environment

Si vous souhaitez utiliser l'interface user Explorer pour le faire, lancez une invite de command en tant que SYSTEM à l'aide de l'astuce "at (time now + 1 minute) / INTERACTIVE CMD" de la session de la console, supprimez le process Explorer en cours d'exécution en tant que votre count user, et démarrez l'Explorateur à partir de l'invite de command SYSTEM. (Cela entre dans un territoire vraiment "non soutenu", et je n'invite pas nécessairement que vous le fassiez …)

Je viens de définir la variable d'environnement du système.

Je voudrais également envisager de créer un count de service dédié, lui accorder les droits dont il a besoin, configurer le service à exécuter sous ces informations et définir la variable ORACLE_HOME pour le profil de ce count. Vous findez qu'il est plus facile d'auditer ce que votre programme fait de cette façon.