阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

诡异的Oracle

Posted on 2012-02-11 11:52  阳光VIP  阅读(119)  评论(0编辑  收藏  举报

昨天晚上测试一段代码,在XP下用Delphi7 + ADO连接的Oracle 920。

每当打开ADO数据库链接的时候,报一个错误“ORA-12154: TNS: 无法处理服务名”。

在IDE里面调试运行或直接运行exe文件,均报错。

又新建了若干个Project测试,均有问题。

怀疑是Oracle服务的问题,找到/ora92/network/admin/下的tnsnames.ora,修改配置。

又测试Oracle的监听,又把ADO的链接字符串修改了N次,仍报此错误。

非常奇怪,这么简单的东东,竟搞不好。

试了试以前用ADO连接Oracle的程序,都能正常运行,排除了Oracle本身的问题。

比较诡异!折腾到很晚了,一度怀疑XP下的ADO驱动有版本问题。

在网上搜了一下,发现有网友说“Oracle有天大的Bug”,即可执行文件的路径中不能包含有“()”,我恍然!!

果然,发现程序保存的文件夹都是这样命名的:新建文件夹 (2)、新建文件夹 (3)。

当时搞测试,顺手就保存在桌面上了,比较懒,也没有重新命名文件夹。

去掉文件夹的括号,果然一切运行正常。

faint! 比较诡异!

今天又看了一些帖子说,这个错误估计是Oracle在解析可执行文件的路径时,对包含的“()”符号解析产生了参数异常。

是为记。

                                                          JRQ     2006/02/17  于穗