【问题标题】:Message file UTILITY_MEG\spw<lang>.msb not found未找到消息文件 UTILITY_MEG\spw<lang>.msb
【发布时间】:2016-09-20 13:18:27
【问题描述】:

我想从 CMD 打开 SQL*Plus

当我尝试在Sqlplus 中使用此命令打开它时,我遇到此对话框错误消息:

Message file UTILITY_MEG\spw&lt;lang&gt;.msb not found.

关闭对话框后,这里是 CMD 的副本:

Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Users\Abo-Khaled>sqlplus
Error 14 initializing SQL*Plus
Message file sp1<lang>.msb not found
SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory

C:\Users\Abo-Khaled>

我使用这些命令来解决问题:

set oracle_home=C:\app\Abo-Khaled\product\11.2.0\dbhome_1\

set oracle_sid=orcl

但是并不能解决问题。

注意事项:

  • 当我直接使用 SQL*Plus 时,我可以毫无问题地登录。但我需要使用 CMD 登录。
  • 我在 Windows 7 中使用oracle 11g

  • 大约一个月前,我在使用 SQL*Plus 时还没有这个问题。

【问题讨论】:

  • 可能您更改了某些 Windows 语言设置,这意味着 SQLPlus 正在寻找未安装的语言文件。检查 oracle home 的 \sqlplus\mesg\ 子文件夹中的 .msb 文件。
  • C:\app\Abo-Khaled\product\11.2.0\dbhome_1\sqlplus\mesg 中有 3 个文件。 : cpyus.msb , sp1us.msb 和 sp2us.msb @AndrewBrennan
  • 将 NLS_LANG 参数设置为适当的值
  • 我试过这个命令:set nls_language='ENGLISH' 但没有用。
  • 对不起,您需要设置完整值:docs.oracle.com/cd/E12102_01/books/AnyInstAdm784/…

标签: oracle cmd oracle11g sqlplus database-administration


【解决方案1】:

我刚刚遇到了这个问题,并且能够通过调整我的 Windows 路径环境变量来解决它。

确保包含正确 sqlplus.exe 的 bin 目录的路径位于 Windows 路径环境变量的首位。

当您在命令提示符下使用 sqlplus.exe 时,您可能正在执行与预期不同的 sqlplus.exe。

就我而言,我还安装了 Oracle 中间件,它有自己的 sqlplus.exe,它被引用并引发“消息文件”错误。

一旦我将数据库主目录的路径放在路径变量中,问题就消失了。

【讨论】:

    【解决方案2】:

    您需要在命令提示符中设置 NLS_LANG 参数。例如设置 nls_lang=英文

    【讨论】:

      【解决方案3】:

      对于较新的数据库 12c 及更高版本,我不需要 oracle_home 变量。如果有,请尝试删除以查看“找不到消息文件 sp1.msb”是否消失。这是我在台式机/笔记本电脑上安装 Oracle DB 的经验。

      【讨论】:

        猜你喜欢
        • 2014-01-27
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 1970-01-01
        • 2013-08-16
        • 1970-01-01
        • 1970-01-01
        • 2021-12-24
        相关资源
        最近更新 更多