网络服务名
存放在目录$Oracle_HOME/NETWORK/ADMIN/TNSNAMES.ORA文件中
ORA92 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = ustb)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = myoracle.ustb)
    )
  )ORA92就是网络服务名,你可以自己取个名。以上在客户端配置。

解决方案 »

  1.   

    谢谢解答,请问host可以改为ip吗?因为我是在学校实验室里,估计会有很多机器重名,service_name可以改为可以用SID和ip的组合吗?
    wangybyangxr网友的建议,在配置ODBC源时,如果选用oracle in orahome92的驱动,在TNS_serviece_name里可以看到ora92,想问得是如果选用microsoft ODBC for oracle在服务器名称上是不是也用ora92?谢谢
      

  2.   

    host可以改为ip
    service_name可以改为用SID和ip的组合(在wangybyangxr(王永斌)的例子中就是ora92,把ora92换成新名字,那service_name就变成了你换的新名字)
    选用microsoft ODBC for oracle在服务器名称上也是用ora92(或是改过的新service_name)
      

  3.   

    如果service_name选用ip+sid的形式,格式怎样呢?
    应该是 ORA92 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 202.204.59.186)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = myoracle.202.204.59.186)  //还是myoracle_202.204.59.186?
        )
      )
    谢谢
      

  4.   

    不是这样的,我说的SERVICE_NAME指的是配置ODBC或ADO时用的服务名(ORA92),不是CONNECT_DATA中的SERVICE_NAME,是我答的不好。CONNECT_DATA中的SERVICE_NAME就是myoracle.ustbORA92 =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 202.204.59.186)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = myoracle.ustb)
        )
      )配置ODBC或ADO时指定服务名ora92就行了
      

  5.   

    用ado,个人感觉odbc经常会出问题。
    "Provider=oraoledb.oracle;Data Source=你的服务命名;User ID=用户名;Password=密码"看来,你对oracle有很多基本概念都不清楚,建议找些书看看,不要急于编程。