2016-09-20 215 views
2

我想打开SQL * Plus从CMD消息文件UTILITY_MEG SPW <lang> .msb没有找到

当我尝试使用此命令可以打开它Sqlplus我遇到这个对话框错误信息:

Message file UTILITY_MEG\spw<lang>.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。

+0

可能您已经更改了一些windows语言设置,这意味着SQLPlus正在查找未安装的语言文件。检查oracle主目录的\ sqlplus \ mesg \子文件夹中的.msb文件。 –

+0

C:\ app \ Abo-Khaled \ product \ 11.2.0 \ dbhome_1 \ sqlplus \ mesg中有3个文件。 :cpyus.msb,sp1us.msb和sp2us.msb @AndrewBrennan –

+0

将NLS_LANG参数设置为合适的值 –

回答

0

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

+0

对不起!这不起作用。 –

1

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

确保包含正确的sqlplus.exe的bin目录的路径在Windows路径环境变量中首先出现。

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

在我的情况下,我也安装了Oracle中间件,它有自己的sqlplus.exe,它被引用并抛出“消息文件”错误。

一旦我把路径首先放到数据库home的bin目录中,这个问题就消失了。

相关问题