PLSQL 连接数据库 ORA-12154 TNS无法解析指定的连接标识符

来源:互联网 发布:数据库%号 编辑:程序博客网 时间:2024/05/29 16:31
1.查看服务器的监听状态是否打开
  在CMD下运行如下命令就可以:
lsnrctl status
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:无监听器
TNS-12560: TNS: 协议适配器错误
TNS-00511: 无监听器
32-bit Windows Error: 61: Unknown error
打开监听器:
C:\Users\Administrator>LSNRCTL START
LSNRCTL for 32-bit Windows: Version 10.2.0.1.0 - Production on 05-11月-2012 15:5
0:53
Copyright (c) 1991, 2005, Oracle.  All rights reserved.
TNS-01106: 使用名称LISTENER的监听程序已经启动
2.尝试登录本地数据库看是否成功
C:\Users\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 11月 5 15:53:36 2012
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
SQL>
如上所示表示正确连接,且tnsnames.ora文件没有问题,如果连接失败请检查服务是否开启,并且检查tnsnames.ora文件内容是否有误,如下:
orcl =
(DESCRIPTION =
    (ADDRESS_LIST =                   
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
)在orcl前面是不允许出现空格的,并且最好将自己添加的内容放置在原有内容之后。
个人认为上面两项足可以解决该问题了,至于网上其他网友的论述不予评论,本人在检查完上述所有信息后就可以登录了。
这里顺便贴出网友给出的另外的解决方案以便大家参考:
3.如果确保你的tnsnames.ora内容没有错误,那请将%ORACLE_HOME%\product\10.2.0\db_1\NETWORK\ADMIN目录下的所有文件删了,然后重新连接,一般就能解决了。 说明一下:那个目录里的文件是在你建立连接的时候动态生成的,不要怕删了会有问题
4.进入PLSQL Developer的主界面,在登录界面选择取消即不登录进入主界面,然后选择菜单Tools(工具)-Preferences(首选项),在设置窗口中,选择Oracle-Connection(连接),对应设置窗口中,找到Oracle Home(Oracle主目录),选择你本地所安装客户端的版本,保存设置,然后重新启动PLSQL Developer,这时就可以正常登录了。
最近买了新电脑,装了64位新系统,突然间又遇到了上面的问题,奇怪了就上面的所有的我都已经验证,到底为什么还是报这个错呢,搞了半天是因为plsql装的位置不对,原来64位win7会把32位应用程序安装到Program Files (x86)目录下,安装的时候我觉得吧这也没什么,结果偏偏是它出问题了,奶奶的,重新装了并且换到C:\Program Files目录下,结果链接正常了,太让人纠结了,还有,为了避免这种问题再度出现,建议oracle客户端也要注意安装路径
祝大家看到我的文章可以解决这个破问题
0 0