C#连oracle数据库,测试连接时报错:ORA-12154:TNA:could not resolve the connect identifier specified以前都好好的呢,不知今天为何会报错。用相应的账号和密码可以通过pl/SQL连上。服务都启动起来了。请高手指点。在网上搜也找不到相关资料。郁闷啊。

解决方案 »

  1.   

    问题出在监听配置文件,Oracle8、9、10网络监听配置文件基本相同,你说的信息太少,我只能提供这么多,最好把Oracle运行平台和版本提供出来 
      

  2.   

    把net manager 里的服务命名删除重新配置一遍;同情你
      

  3.   

    检查一下tnsname和你的配置是不是一直的。
      

  4.   

    http://bbs.chinaunix.net/archiver/?tid-651387.html
      

  5.   

    检查一下tnsname和你的配置是不是一样的
      

  6.   

    看不懂啊,这是我的配置文件,不知道哪里不对:# TNSNAMES.ORA Network Configuration File: D:\oracle\ora90\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.XE =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = weijiazhen)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = xe)
        )
      )OEMREP =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = WeiJiaZhen)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = OEMREP)
        )
      )MYORACLE =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = WeiJiaZhen)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = myoracle.mynet)
        )
      )CARGO =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = WeiJiaZhen)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = CARGO)
        )
      )INST1_HTTP =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = WeiJiaZhen)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = SHARED)
          (SERVICE_NAME = MODOSE)
          (PRESENTATION = http://HRService)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )WEI =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = wei)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = wei)
        )
      )
      

  7.   

    昨天又试了一下,新装的10g 的那个数据库xe通过C#.net可以连得上,也可以查询操作,但9i的那几个数据库连得时候都还是报这个错误。
    ORA-12154:TNA:could not resolve the connect identifier specified (每次换数据库我都会把相应的listener打开,并停止另一个。服务中还有什么需要注意的地方吗?)
      

  8.   

    你的问题出很可能在操作系统的搜索路径上,因为你刚装了10g,而你的应用的版本是9i的对不对?你检查你系统的环境变量PATH,这个里面10的相关路径如果排在9i前面,就会出这个问题,只要把10g的放到后面就可以了;要判断path问题,你在命令行里打入sqlplus /nolog看看打开的sqlplus的版本是10还是9,如果是9,那么就要修改这个path的顺序了,
    对你的具体操作和环境部大清楚,只能说这么多了
      

  9.   

    应该是你后装的ORACLE,环境变量覆盖了之前的,该下环境变量就行
      

  10.   

    不好意思,刚打错了一点,应该是下面的才对:
    要判断path问题,你在命令行里打入sqlplus /nolog看看打开的sqlplus的版本是10还是9,如果是10,那么就要修改这个path的顺序了, 
      

  11.   

    恩,版本是10,
    该了path顺序后就可以了。(*^__^*) 太感谢hellohonghong了,终于找到问题原因了。