无法通过服务名使用 SQLPLUS 连接到 oracle 数据库
Posted
技术标签:
【中文标题】无法通过服务名使用 SQLPLUS 连接到 oracle 数据库【英文标题】:cannot connect to oracle database with SQLPLUS via service name 【发布时间】:2017-07-02 07:20:18 【问题描述】:我正在尝试使用 service_name 从 SQLPLUS 连接到 Oracle 数据库,但我收到了
ORA-12154 错误(ORA-12154:TNS:无法解析指定的连接标识符。
注意:当我使用 SQL Developer 时,一切正常。
这是我的 tnsnames.ora 设置:
SAMPLEDB =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sampledb)
)
)
这是我使用的连接命令:
sqlplus test/password@localhost:1521/sampledb
谁能告诉我我做错了什么?
【问题讨论】:
您使用的是 exact 命令吗?第一个字真的是plsql
吗?
我的错误,确实,我使用的命令是sqlplus ...
【参考方案1】:
除了显而易见的(启动 SQL*Plus 的命令当然是 sqlplus
)之外,您在 SAMPLEDB
连接标识符的定义中缺少一行。
在第一行和第二行之间插入以下行(完全如下所示):
(DESCRIPTION =
你一定是把它删掉了。
SAMPLEDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = sampledb)
)
)
【讨论】:
我添加了丢失的行,但我有同样的错误。以上是关于无法通过服务名使用 SQLPLUS 连接到 oracle 数据库的主要内容,如果未能解决你的问题,请参考以下文章
oracle ora-01033错误,怎么解决,在sqlplus下用system登陆权限不足