【问题标题】:Oracle OCIEnvNlsCreate error when connecting from Windows service从 Windows 服务连接时 Oracle OCIEnvNlsCreate 错误
【发布时间】:2009-06-16 04:34:10
【问题描述】:

如问题标题所述,我正在尝试从 Windows 服务连接到 Oracle 数据库,但收到以下错误消息:

System.Exception: OCIEnvNlsCreate 失败,返回码 -1,但错误消息文本不可用。

同一台计算机上的其他应用程序连接到 Oracle 没有任何问题,我已尝试将服务作为本地系统运行并使用我自己的用户凭据。任何想法如何解决这种情况?

【问题讨论】:

    标签: .net oracle windows-services


    【解决方案1】:

    此错误与多个相关问题有关,其中任何一个都可能是您的问题。

    1. 您需要确保在 Windows 设置中正确设置了 oracle 所需的环境变量。示例包括 TWO_TASKTNS_ADMINNLS_LANG

    2. 如果您安装了多个 Oracle,您的程序可能找不到正确的 ORACLE_HOME 和相应的正确库 (DLL)。确保您也正确设置了PATHORACLE_HOME

    【讨论】:

    • 我的开发机器上确实安装了多个Oracle,有没有针对这种情况的解决方法?
    • 进入开始菜单 > 控制面板,选择系统小程序。在高级选项卡下有一个“环境变量”按钮。这将让您为您和系统设置变量。确保 ORACLE_HOME 路径首先位于 PATH 上。您可以为每个用户(如您或本地系统)设置变量,但我不知道如何为本地系统用户设置它们。问栈溢出智囊。
    • 谢谢,因为这个问题似乎是一个系统管理问题的行有点长,我已经打开了一个关于 Serverfault 的问题 - serverfault.com/questions/30283/… - 所以我们会看看事情如何去吧。
    猜你喜欢
    • 1970-01-01
    • 2020-03-31
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 1970-01-01
    • 1970-01-01
    • 2018-06-28
    • 1970-01-01
    相关资源
    最近更新 更多