我用的是WINDOWS 10Pro x64。我为我的RUBY环境安装了gem: ruby_oci8
我安装了ORACLE C:instantclient_12_2并添加到PATH,我还安装了SQLPLUS utils并添加到PATH
我需要连接到远程ORACLE DB
我以及。ora,由TNS_ADMIN指定->C:ORACLEnetworkadmin in System Variables:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = <host>)(PORT = <port>))
)
(CONNECT_DATA =
(SID = <sid>)
)
)
我是新手。请帮我核对一下其他的支票。
非常感谢!
调试看不到的东西几乎是不可能的,而且您提供的东西也很少。为什么不使用复制和粘贴来显示您所做的事情和确切的结果——完整的命令行和完整的响应?在你的后续评论中,你提到了其他几个错误消息,但同样没有上下文。
既然您提到了sqlplus和"run connect @",我假设您的命令看起来像这样:
C:> sqlplus scott/tiger@orcl
在这种用法中,'@'是一个分隔符,表示后面的内容(在本例中为'orcl')是网络服务名称。当sqlplus解析命令行时,它将使用这个值('orcl')并在本地文件' tnnames .ora'中查找匹配项。默认情况下,它将位于%ORACLE_HOME/network/admin。一个典型的条目可能看起来像这样:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = somehostname)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
第一行是sqlplus要查找的net服务名。如果没有找到请求的网络服务名称,您会得到"ORA-12154: TNS:无法解析指定的连接标识符"。这是一个非常明确的错误,它只意味着两件事中的一件:1)文件的名称。或2)找到了文件,但没有请求的网络服务名称条目。
所以,你需要证明有一个tnsnames。Ora文件在预期的位置,并且它有请求的网络服务名称的条目。