这意味着您的操作系统设置不支持正在使用的语言中的错误消息的符号。 ORA-01017消息是在数据库应用英语的语言设置之前发出的,更重要的是在西方脚本中。一旦你连接了Java语言环境,就可以获得荣誉。
例如,我可以在java -Duser.language=zh -Duser.country=CN
的代码中看到这两个代码;第一已提供不正确的凭据,二是试图创建现有的表:
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
java.sql.SQLSyntaxErrorException: ORA-00955: 名称已由现有对象使用
我看到十个符号,在这里你看到10问号。我的操作系统会话(Linux在这种情况下)有LANG=en_US.UTF-8
。如果我将其改为具有较少定义的符号的东西,例如export LANG="en_US.ASCII"
,我仍然看到的第一条消息,但现在我得到同样的,你的第二个:
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
java.sql.SQLSyntaxErrorException: ORA-00955: ??????????
的中国符号现在可以不再受我的操作系统会被渲染。
因此,将您的操作系统语言环境设置为可以表示您正在使用的语言的符号的内容,最好是UTF8。例如,如果Java与中国语言环境下运行,你可以这样做在Linux下是一致的:
export LANG="zh_CN.UTF-8"
java -Duser.language=zh -Duser.country=CN
ORA-00955: 名称已由现有对象使用
或者,如果你想看到在英文中的所有邮件修改Java语言环境中的英语:
export LANG="en_CN.UTF-8"
java -Duser.language=en -Duser.country=CN -
ORA-00955: name is already used by an existing object
(虽然Java无论如何都应该拿起从您的区域设置默认的语言,所以也许根本就不提供在java
调用语言或国家明确;只要设置正确LANG然后将足够)
请将错误文本内联并简单地发布电子文本,而不是图像。 –
这看起来像你的一些例外可能有他们的消息来自不同的本地化。 – RealSkeptic
我建议调试它,看看在什么时候在异常变量中存储了什么 – nabeel