【问题标题】:gibberish on oracle 12.1 db sqlplus errorsoracle 12.1 db sqlplus 错误上的乱码
【发布时间】:2013-12-17 01:55:31
【问题描述】:

我对我的 sqlplus ORA 错误感到困惑。示例:

SQL> conn ur@mydb
Enter password:
ERROR:
ORA-01017: ┐┐┐┐┐ ┐┐┐┐┐/┐┐┐┐┐ ┐┐ ┐┐┐┐┐; ┐┐┐┐┐┐┐┐ ┐┐┐┐┐

这是我在注册表中的 nls_lang: AMERICAN_AMERICA.WE8MSWIN1252

我有 Windows 8 64 位。甲骨文数据库 12.1.0.1。 什么都试过了。

感谢您的帮助。

【问题讨论】:

  • 我假设您的本地设置在成功登录后填充到数据库中,即它在成功验证之前不适用。
  • 您是在一台机器上本地工作吗?当您的数据库版本为 11.1 或更高版本且 SEC_CASE_SENSITIVE_LOGON = TRUE(密码区分大小写)但您的 Oracle 客户端版本为 10 或更早版本时会出现问题。
  • 是的,我在一台机器上本地工作。没有安装客户端,但默认安装了数据库软件
  • 乱码也发生在例如“select *;”上登录后查询。
  • 数据库是用什么字符集创建的?

标签: oracle unicode sqlplus oracle12c nls-lang


【解决方案1】:

尝试:我遇到了同样的问题,当我将 NLS_VALUE 更改为 AMERICAN_AMERICA.WE8MSWIN1252 时解决了

Procedure
Run the following queries to get the corresponding values:
SELECT VALUE as Language FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_LANGUAGE';
SELECT VALUE as Territory FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_TERRITORY';
SELECT VALUE as Characterset FROM NLS_DATABASE_PARAMETERS WHERE PARAMETER='NLS_CHARACTERSET';
The NLS_LANG parameter is set as: <Language>_<Territory>.<Characterset> (for example, set NLS_LANG = AMERICAN_AMERICA.UTF8)

To set the value of the NLS_LANG parameter in Windows, verify the HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE/NLS_LANG entry in the registry.
To set the value of the NLS_LANG parameter in UNIX, NLS_LANG is set as a local environment variable

来源:http://pic.dhe.ibm.com/infocenter/ssfs/v9r2/index.jsp?topic=%2Fcom.ibm.help.install.doc%2Ft_ConfiguringTheNLS_LANGParameterForAnOracleClient.html

【讨论】:

    猜你喜欢
    • 2020-07-04
    • 2022-08-17
    • 2017-10-10
    • 2013-04-30
    • 2018-09-12
    • 2018-05-01
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    相关资源
    最近更新 更多