Chinaunix首页 | 论坛 | 博客
  • 博客访问: 283579
  • 博文数量: 70
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 531
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-12 20:22
个人简介

1.01^365=37.8 0.99^365=0.03

文章分类

全部博文(70)

文章存档

2017年(9)

2016年(4)

2015年(14)

2014年(43)

我的朋友

分类: Oracle

2015-01-06 16:35:12

在连接oracle的时候PL/SQL报错:“ORA-12154: TNS:无法解析指定的连接标识符,在网上找了很多资料,然后问题解决。其中下面的文章分析的过程很值得学习,特地转载过来时刻告诫自己全局观的重要性!
  下面是引用正文
  接着上次的话题,在64win7上装了32oracle10g 以后又出现了新的问题:
  在使用oracle自带的sqlplus连接本机或者远程的oracle实例均能成功过,但使用 PL/SQL Developer (我装的是7.1版本) 连接任何一个实例在登录时均报“ORA-12154: TNS:无法解析指定的连接标识符错误。
  冷静,先分析原因,既然sqlplus已经能够连接,说明oracle的安装(至少客户端的安装)是正常的,TNS的配置是正确的。问题应该出在PL/SQL Developer 自身。考虑到本次安装oracle的过程中有诺干次安装失败且变换过oracle home,是否是注册表中的信息有写垃圾未清理?!进入 PL/SQL Developerpreferences中发现可以设定oracle home。该选项为空是自动选择,也可以手工填入路径。但是设置后没有效果。之后又检查了注册表、oracle设置均无异常。
  无奈之下选择了重装PL/SQL Developer 。运行安装程序以后弹出一个警告框,这次仔细的看了一下,大概意思是安装目录中含有特殊字符可能导致oracle无法连接。该提示窗口按确认按钮后依然会继续安装。恍然大悟啊,64win7会把32位应用程序默认的安装到Program Files (x86)目录下,那两个括号可能让oracle郁闷了。改变安装路径为一个比较大众化的路径,再次进行数据库连接,一切问题都解决了。
  经验总结:以后打死也不往默认的32program files目录下装东西了。
  思想上移
  上网查了好久才找到这个答案,起初一直是认为oracle安装的问题,和文章的作者一样,开始的时候也是找了很多资料,上网百度了好一阵子。真要从细节方面说的话出现这个问题的原因还是不理解win7的那个programs files(X86)文件夹存在的意义。网上能找到的就只有关于syswow64的介绍,具体的文件夹的作用,以及不安装到相应的文件夹下会出现什么别的问题还有待考察。如果说是为了区分32为和64位程序的话那么如果32位程序不小心安装到别的目录下那么就不应该可以用啊,但是事实证明还是可以正常使用,所以大胆猜测,这个文件夹仅仅用于区分,在程序运行的时候操作系统会自己判断。
  文章的作者还是很有水平的,遇到了问题没有一头扎进去而是仔细的分析,将大局把握住了。弄清楚自己所处的环境(64win7)然后逐步向细节分析(oracle安装,PL/SQL安装,以及他们的安装路径等等细节),最终问题解决。宏观的把握住了,细节方面的都不是大问题,只需要稍微调整就可以。以后遇到问题也应该这样分析,把自己的所处的大环境搞清楚,然后再去分析问题。
  谨记!谨记!!
阅读(1536) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~