本人用vs2005连接oracle 10g 但老是有异常,捕获到异常为:
ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
服务里面的监听服务已经启动我的计算机名为chjf 
下面我贴出
listener.ora# listener.ora Network Configuration File: D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\listener.ora
# Generated by Oracle configuration tools.SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = hfyd)
      (ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)
      (PROGRAM = extproc)
    )
  )LISTENER =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = chjf)(PORT = 1521))
  )还有tnsnames.ora文件
# tnsnames.ora Network Configuration File: D:\oracle\product\10.1.0\Db_1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.HFYD =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = chjf)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = hfyd)
    )
  )EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )还有一个sqlnet.ora# sqlnet.ora Network Configuration File: D:\oracle\product\10.1.0\Db_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
已经搞了一天了,没辙了。请高手指点。

解决方案 »

  1.   

    这个问题好像这几天好多人问。
    先不用连接串登录数据库,如sqlplus user/pwd,不用sqlplus user/pwd@HFYD
    然后alter system register;
      

  2.   

    用sqlplus登录时候报错 用的用户名和密码是
    用户名:system
    密码:111
    错误信息为:
    tns:no listener;但用plsql 能登录。 
      

  3.   

    如楼上所说的,应该可以。也可这:
    listener.ora
    ----------------------------
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\oracle\product\10.1.0\Db_1)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = chjf)(PORT = 1521))
        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
      )
      

  4.   

    HFYD =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = chjf)(PORT = 1521))  红线部分改为IP地址试一下。
        )
        (CONNECT_DATA =
          (SERVICE_NAME = hfyd)
        )
      )
      

  5.   

    还有一个我也说明下,我用sqlplus 界面登录登录不进去,但用DOS 下面sqlplus却可以登录的。真实奇怪。
    谢谢楼上的,我去试试。