我遇到了一个问题,我的系统中安装了多个Oracle版本以支持各种应用程序,但是我需要使用本地系统帐户作为Windows服务运行程序。 目前,我收到以下错误:
System.Exception:OCIEnvNlsCreate失败,返回代码-1,但错误消息文本不可用。
但我被告知这可能是由于本地系统帐户的环境variables设置不正确。 因此,我怎样才能真正改变本地系统账户的价值呢?
如果您不介意将其设置为系统范围,请将其设置在“我的电脑”属性的“高级”页面的“环境variables”对话框的“系统”部分。 这肯定会将其设置为SYSTEM上下文。 您也可以每个用户都使用它。
如果您确实只想将其设置在SYSTEM上下文中,请将其添加到: HKEY_USERS\.Default\Environment
如果要使用资源pipe理器UI执行此操作,请使用控制台会话中的“at(time now + 1 minute)/ INTERACTIVE CMD”技巧,以SYSTEM身份启动命令提示符,终止作为用户帐户运行的资源pipe理器进程,并从SYSTEM命令提示符处启动资源pipe理器。 (这是进入真正“不受支持”的领域,我不一定鼓励你这样做…)
我只是设置系统范围的环境variables。
我也可以考虑创build一个专用的服务帐户,授予它所需的权限,将服务configuration为在这些凭据下运行,并为该帐户的configuration文件设置ORACLE_HOMEvariables。 你会发现审计你的程序也是这样做的更容易。