# TNSNAMES.ORA Network Configuration File: c:\oracle\ora81\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.ORA92 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.101)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ora92)
    )
  )WATCHDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.122)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = ORCL)
    )
  )ORA817 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = kec-sekedgx7nzt)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = ora817)
    )
  )INST1_HTTP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = kec-sekedgx7nzt)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = SHARED)
      (SERVICE_NAME = ora817)
      (PRESENTATION = http://admin)
    )
  )EXTPROC_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    )
    (CONNECT_DATA =
      (SID = PLSExtProc)
      (PRESENTATION = RO)
    )
  )这是我机器上的TNSNAMES。ORA,其中ora92对应服务器A中的ORACLE9i,watchdb对应服务器B中的ORACLE805,ORA817对应本机的ORACLE8I。不知道这样是否是楼主想要得到的结果。

解决方案 »

  1.   

    多谢ORARichard,但是你没有理解我的意思。
    我的意思是,每个用户登录到电脑上都有自己的配置文件(桌面、我的文档等),能不能让他们各自在自己的目录中放置一个tnsnames.ora,然后告诉oracle,解析连接串时优先使用使用“我自己的”tnsnames.ora?
      

  2.   

    在Documents and Settings目录下,每个用户都有自己的一套目录(包括桌面等),可以用来放置自己的东西。
    主要的问题是怎么“告诉”oracle,使用用户自己的tnsnames。
      

  3.   

    不行,一个数据库只能对应一个tnsname唯一的解决办法就是让终端用户自己装ORACLE客户端,这样就不存在问题了
      

  4.   

    试试这样
    在每个用户的我的文档中存放其各自的tnsnames.ora文件。
    写个登录脚本(XXX.cmd,其中的内容就是将tnsnames.ora拷贝至ORACLE的目录下),当用户登录时,自动运行XXX.cmd
      

  5.   

    luxuezhu(卢冲) 
    安装程序需要高权限,而且每个用户都安装岂不太麻烦了。 ORARichard(没钱的日子......) 
    不行啊,我说的是终端登录方式(远程桌面),多个用户是同时使用的。
      

  6.   

    没什么好办法了。
    不过你可以自己写个文本编辑程序给用户使用。通过这个程序让用户修改属于自己的tnsnames.ora中的部分。# TNSNAMES.ORA Network Configuration File: c:\oracle\ora81\NETWORK\ADMIN\tnsnames.ora
    # Generated by Oracle configuration tools.####USER1
    ORA92 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.101)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ora92)
        )
      )####USER2
    WATCHDB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.122)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SID = ORCL)
        )
      )####USER3
    ORA817 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = kec-sekedgx7nzt)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ora817)
        )
      )INST1_HTTP =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = kec-sekedgx7nzt)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = SHARED)
          (SERVICE_NAME = ora817)
          (PRESENTATION = http://admin)
        )
      )EXTPROC_CONNECTION_DATA =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
        )
        (CONNECT_DATA =
          (SID = PLSExtProc)
          (PRESENTATION = RO)
        )
      )程序中通过读####后的字符串识别是哪个用户,文件读至下一个####终止,其间读的内容即为某一用户的配置信息。用户修改后,再将信息重新写入或插入原tnsnames.ora
      

  7.   

    我的意思是每个终端在自己的计算机上面安装客户端,为什么非要登陆到AS上面呢,那就是每个用户的TNS属于自己的,和别人无关啊
      

  8.   

    一个用户修改了,对大家都有影响. 这个估计是实现不了.
    -------------------------------------------------通过这个程序让用户修改属于自己的tnsnames.ora中的部分。应该不会影响别的用户吧
      

  9.   

    To没钱:
    这个文件中如果有一部分出错(比如少写一个括号),就会影响下面所有的tns,所以不希望多人共用一个文件。