两个服务器,都链接到一台oracle服务器去取数据。配置一模一样。
tns如下
LISDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.7.14)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = lisdb)
    )
  )然后我在sql2005设置如下。
链接服务器TEST
访问接口microsoft oledb for oracle
产品名称Oracle
数据源LISDB然后安全性里面 使用此安全上下文连接
用户名:aa
密码:aa同样的配置,我其中一台服务器,连接没有问题,查询也可以 。
但是另外一台服务器 报无法初始化 ole db访问接口的msdaora的数据源对象 连接未打开 错误号ora06413感觉很莫名。另外要说的是,那台无法连接的服务器,就算用dts去访问oracle,也会报连接未打开 错误号ora06413
服务器操作系统不同,有问题的那个是windows server2003 r2 64位的,没问题的是我的xp机器。大家谁有类似的经验吗?

解决方案 »

  1.   

    有问题的那个是windows server2003 r2 64位的?这个?64位的就难说了。如果你还有机器的话,弄个windows server2003 sp1(sp2) 32位的再试试,如果能行,不就能说明问题了?
      

  2.   

    http://blog.csdn.net/zhpsam109/archive/2006/03/08/618860.aspx
      

  3.   


    我的不是应用程序,只是在sql2005上做一个链接服务器,不可能有你说的应用程序路径放置的问题
      

  4.   

    windows server2003 r2 64 上 oracle 客户端是否是 64 位的?使用 oracle 提供的 ole db 接口(oraoledb.oracle)是否可以?
      

  5.   

    试试看:
    首先,SQL Server 2005从Linked-Server链接到Oracle 10g, 你要先确定Oracle 10g安装配置正确,并且能在DOS模式下执行tnsping LISDB 能够通过没有错误;注意Oracle的数据库名称,密码,服务名称都是要分大小写的;
    其次,你可以任选下列一种Provider去连接Oracle数据库:
    1.OraOLEDB.Oracle(Oracle Provider for OLE DB)(要确认Oracle ODAC 10g安装并配置正确)
    2. MSDAORA(Microsoft OLE DB Provider for Oracle)
    另外,点击Linked-Servers\Providers\MSDAORA, 右键点击Properties属性,确认Allow inprocess
    第三,建立好正确的Linked-Server右键点击Test connection如果显示成功应该就可以连上Oracle数据库啦!
      

  6.   

    又及,以上三个步骤任何一个的成功都缺一不可,Net配置最好删除重建。