SQL SERVER 链接服务器问题我要连一个oracle 数据库,它的监听文件HSTREP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.14.237)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oradb)
    )
  )sql server 中运行的:--1、建立链接数据库    sp_addlinkedserver 'ORALINK', 'Oracle', 'MSDAORA', 'ORADB'    GO    EXEC sp_addlinkedsrvlogin  @rmtsrvname='ORALINK',@useself='false',@locallogin='sa',@rmtuser='user',@rmtpassword='111'    --2、查询数据    SELECT * FROM oralink..USER.ITEM我要访问oralce 中的USER用户下的item表,提示
链接服务器"oralink"的 OLE DB 访问接口 "MSDAORA" 返回了消息 "ORA-12154: TNS: 无法处理服务名
"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "oralink" 的 OLE DB 访问接口 "MSDAORA" 的数据源对象。用PL/SQL DEVELOPER 能正常登录Orcal数据库,继续高手解决。

解决方案 »

  1.   

    你ORACLE的版本是多少 貌似ORACLE 9.2存在一个BUG当Oracle运行在NTFS的分区上时,对于某些非administrator组的用户,ORACLE_HOME 目录是不可见的,而在windows server 2003下asp.net应用使用的帐户是netword service,因此无法创建oracle连接,只要重设一下ORACLE_HOME目录的权限就可以了。步骤如下: 
    1、以管理员的用户登录; 
    2、找到ORACLE_HOME文件夹(我的是C:"oracle"ora92),点右键,选属性--安全,在组或用户栏中选“Authenticated Users”,在下面权限列表中把“读取和运行”的权限去掉,再按应用;重新选上“读取和运行”权限,点击应用;选权限框下面的“高级”按钮,确认“Authenticated Users”后面的应用于是“该文件夹、子文件夹及文件”,按确定把权限的更改应用于该文件夹; 
    3、重新启动计算机,让权限设置生效(请注意,这一步很重要); 
    4、登录后运行asp.net应用,正常取得Oracle数据库的数据。 
      

  2.   

    --实在是不行  你可以手工配置链接服务器试试1、打开SQL Server 2005的Management Studio 
    2、展开对象资源管理器 
    3、选择“服务器对象”,展开,选择“链接服务器” 
    4、右键“新建链接服务器”,打开新建链接服务器窗口 
    5、输入链接服务器名,选择“其他数据源”下的“访问接口”,就是你的Oracle驱动,并设置数据源为Oracle的IP或机器名 
    6、在“安全性”页面中,点击“新建”,在“本地登录”中输入SQL Server的某个用户,然后在“远程用户”中输入Oracle的用户名,“远程密码”中输入Oracle用户名的密码 
    7、确定即可,然后用openquery()函数访问Oracle。 
      

  3.   

    有高手指出的:检查你Oracle client 的配置是否正确, 
    查看 tnsnames.ora文件的设置. 
    改tnsnames.ora文件中的配置,但试了很多也不行,最后打开了sqlnet.ora中的文件发现了问题所在, XML code # SQLNET.ORA Network Configuration File: f:\oracle\ora90\network\admin\sqlnet.ora # Generated by Oracle configuration tools. SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME) 
      

  4.   

    sqlnet.ora是用来干吗的,我没有这个文件
    并却下面是什么意思,谢谢
    XML code # SQLNET.ORA Network Configuration File: f:\oracle\ora90\network\admin\sqlnet.ora # Generated by Oracle configuration tools. SQLNET.AUTHENTICATION_SERVICES= (NTS) NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)