我在一台机器上安装了oracle10g的数据库,在另外的机器上分别需要用Oracle10g的客户端和Oracle9i的客户端连接,可是怎么也连不上。急啊!
我是初学者,请高手说的详细些!谢谢!

解决方案 »

  1.   

    服务器的监听器服务打开、客户端在NET MANAGER中配置下服务然后看下若是不成功 把错误发出来
      

  2.   

    服务器端的tnsnames.ora文件中有这样的配置:
    TESTEXAMPLE =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = iecas-3br8l5xjj)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = testexample.com)
        )
      )我在另外的一台机器上用
    Oracle 9i 的Enterprise Manager Console 登录
    在这台装了Oracle的对应的tnsnames.ora文件中也作了设置TESTEXAMPLE.COM_192.168.0.197 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.197)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVER_NAME = testexample.com)
        )
      )用tnsping TESTEXAMPLE.COM_192.168.0.197能够通显示如下:TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 31-1月 -2007 15:28:50Copyright (c) 1997 Oracle Corporation.  All rights reserved.已使用的参数文件:
    D:\oracle\ora92\network\admin\sqlnet.ora
    已使用 TNSNAMES 适配器来解析别名
    Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.197)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVER_NAME = testexample.com)))
    OK(20毫秒)登录过程打开9i的Enterprise Manager Console选择导航器-〉将数据库添加到树
    再选择 “从本地的tnsnames.ora文件中添加已选数据库(A)位于D:\oracle\ora92\NETWORK\ADMIN中”
    在点左边的列表中的数据库是提示输入:
    按照提示输入 用户名和密码(在服务器端本机能用的密码)
    提示:
    ORA-12504:TNS:监听器在CONNECT_DATA中未获得SID
      

  3.   

    net manager里的监听配置可能不正确
      

  4.   

    NET Manager 里面怎么配置啊?这里的testexample不是安装时建立的数据库。用安装时建立的库(只有5个字母长的数据库名字)刚才的就能成功。数据库SID那一步输入testexample.com就出错,说是无效。是不是太长啊??但是自己又改了个短的也不行??
      

  5.   

    不会太长的,那个数据库sid不能随便改的在net manager里有一个监听程序配置,你配置了吗
    看你贴出来的文件没有那个listener.ora文件
      

  6.   

    # listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_3\network\admin\listener.ora
    # Generated by Oracle configuration tools.SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\oracle\product\10.2.0\db_3)
          (PROGRAM = extproc)
        )
      )LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          (ADDRESS = (PROTOCOL = TCP)(HOST = MyC-3br8l5xjj)(PORT = 1521))
        )
      )# sqlnet.ora Network Configuration File: D:\oracle\product\10.2.0\db_3\network\admin\sqlnet.ora
    # Generated by Oracle configuration tools.# This file is actually generated by netca. But if customers choose to 
    # install "Software Only", this file wont exist and without the native 
    # authentication, they will not be able to connect to the database on NT.SQLNET.AUTHENTICATION_SERVICES= (NTS)NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    # tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_3\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.TM =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = MyC-3br8l5xjj)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = Oa10)
        )
      )TESTEXAMPLE =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = MyC-3br8l5xjj)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = testexample.com)
        )
      )O12 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.197)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = iec)
        )
      )CHEJIAN =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 12.3.10.15)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ora9i)
        )
      )MyC =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = MyC-3br8l5xjj)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = MyC)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )
      

  7.   

    # listener.ora Network Configuration File: D:\oracle\product\10.2.0\db_3\network\admin\listener.ora
    # Generated by Oracle configuration tools.LISTENER =                          #注意此处前面不能有空格串
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = MyC-3br8l5xjj)(PORT = 1521))
      )SID_LIST_LISTENER =                 #注意此处前面不能有空格串
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = testexample.com)   #这里填写你的sid或sid.domain
          (SID_NAME = testexample)            #这里填写你的sid
        )
      )
    # tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_3\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.
    TESTEXAMPLE =                              #注意此处前面不能有空格串
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = MyC-3br8l5xjj)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVER_NAME = testexample.com)
        )
      )你将以上改过的text存放在相应的文件中,保存,重起监听:
    c:\lsnrctl stop
    c:\lsnrctl start
    然后连接,应该就没什么问题了