无法从 OSX 登录到 Oracle 数据库

Unable to login to Oracle Database from OSX

我已经在 Mac Sierra 上下载并安装了 Oracle Instant Client。 我还创建了 tnsnames.ora 文件并导出了它的路径。

但是,当我尝试登录到远程 Oracle 服务器时,出现以下错误:

Mridulas-MacBook-Pro:~ mridulaprabhu$ sqlplus demo$security/password@ERPONWEB

SQL*Plus: Release 11.2.0.4.0 Production on Fri Aug 18 16:37:03 2017

Copyright (c) 1982, 2013, Oracle.  All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied

当我的同事在 windows 上使用相同的凭据连接到同一台服务器时,他可以登录。

有人告诉我这可能是因为我 MAC 上的字符集。所以我已经将 NLS_LANG 设置为 AMERICAN_AMERICA.US7ASCII 但它仍然不起作用。

我该如何解决这个问题?

OS X 是一个 Unix 变体,而你 运行 来自 shell。因此,您用户名中的 $ 被解释为环境变量。

如果你这样做:

echo demo$security/password@ERPONWEB

你会看到它只显示 demo/password@ERPONWEB - 除非你碰巧有一个名为 security 的环境变量,在这种情况下,它将被替换。

您可以转义美元符号以停止该解释:

sqlplus demo$security/password@ERPONWEB

或用单引号(而非双引号将整个论点括起来:

sqlplus 'demo$security/password@ERPONWEB'