客户端 改 tnsnames.ora
服务器 改 listener.ora

解决方案 »

  1.   

    给你两个例子
    # E:\ORANT\NET80\ADMIN\LISTENER.ORA Configuration File:e:\orant\net80\admin\listener.ora
    # Generated by Oracle Net8 AssistantLISTENER =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = netserver01)(PORT = 1521))
        (ADDRESS = (PROTOCOL = NMP)(SERVER = NETSERVER01)(PIPE = ORAPIPE))
      )SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = extproc)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = AFIS)
          (ORACLE_HOME = E:\ORANT)
          (SID_NAME = AFIS)
          (PRESPAWN_MAX = 4)
          (PRESPAWN_LIST =
            (PRESPAWN_DESC =
              (PROTOCOL = TCP)
              (POOL_SIZE = 2)
              (TIMEOUT = 2)
            )
          )
        )
      )# E:\ORANT\NET80\ADMIN\TNSNAMES.ORA Configuration File:e:\orant\net80\admin\tnsnames.ora
    # Generated by Oracle Net8 AssistantAFISDATA1.WORLD =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = NETSERVER01)(PORT = 1521))
        (CONNECT_DATA = (SID = AFIS))
      )AFISDATA2.WORLD =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = NETSERVER01)(PORT = 1521))
        (CONNECT_DATA = (SID = AFIS))
      )
      

  2.   

    客户端应该这样
    SERVERSID =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = SERVERHOST)(PORT = 1521))
        )
        (CONNECT_DATA = (SID = SERVERSID)(SERVER = DEDICATED))
      )
      

  3.   

    penitent(只取一瓢) ,
    tnsnames.ora我还能看懂,这里是有两个服务,是不是但是listener.ora我就看不太懂了。
    跟我的差很多,好象你还用到了池,看一下我的有什么问题吗?事实上,因为在客户端总是连不到服务器一端,(用SQL PLUS可以,VC和ODBC就不行)我想改动listener.ora和tnsnames.ora也许会好一点。
    但是,好象我功力还不够啊# LISTENER.ORA Network Configuration File: D:\oracle\ora90\NETWORK\ADMIN\listener.ora
    # Generated by Oracle configuration tools.LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = tai)(PORT = 1521))
        )
      )SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\oracle\ora90)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = iServer)
          (ORACLE_HOME = D:\oracle\ora90)
          (SID_NAME = iOracle)
        )
      )
      

  4.   

    # LISTENER.ORA Network Configuration File: D:\oracle\ora90\NETWORK\ADMIN\listener.ora
    # Generated by Oracle configuration tools.
    #如果只用到tcp/ip的话,ipc可以去掉
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = tai)(PORT = 1521))
        )
      )SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = D:\oracle\ora90)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = iServer)   #这里可以是机器名,可以用hostname连接方式
          (ORACLE_HOME = D:\oracle\ora90) #这里是oracle_home
          (SID_NAME = iOracle)     #这里是数据库sid
        )
      )
    -------------------------------------
    如果sql plus通过本地网络服务名可以连接数据库,证明你的tnsnames and listener配置没有问题,还是检查vc程序,建议用ado连接,不要采用odbc