每人回复呀!请各位高手帮助呀!再补充一下,我的系统是win 2003server。
急需帮助!

解决方案 »

  1.   

    1、在SQL Server服务器上要安装Oracle客户端
    2、配置监听程序
    3、配置服务名
    4、创建链接服务器
      

  2.   

    谢谢指点。
    我肯定实在在SQL Server服务器上安装了Oracle客户端
    我有tnsnames.ora文件是这样的
    TJ_DB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.2.8.251)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ora2000)
        )
      ) 
    我的listener.ora文件是这样的
    # LISTENER.ORA Network Configuration File: E:\oracle\ora91\network\admin\listener.ora
    # Generated by Oracle configuration tools.LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = lsh)(PORT = 1521))
          )
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
          )
        )
      )SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = E:\oracle\ora91)
          (PROGRAM = extproc)
        )
      )
    有了这些还要配置什么吗?请指教!谢谢了
      

  3.   

    通过Oralce的客户端配置工具配置即可。
      

  4.   

    我的 oracle客户端是配置过的,我通过oracle客户是可以访问该数据库的呀!还要配置什么呢?
    如何配置呢?
      

  5.   

    呵呵!很感谢你,我们的要求是用sqlerver2005 连接oracle,不能用其他的。
      

  6.   

    如果Oracle客户端和pl/sq developer都能访问Oracle,那说明配置没有问题。可以试着在SQL Server 2005 的Managerment Studio中手工创建链接服务器。
      

  7.   

    wangtiecheng(不知不为过,不学就是错!) 真的很感谢你的指导,“可以试着在SQL Server 2005 的Managerment Studio中手工创建链接服务器。“能不能说的详细些。我找些资料,但是还是没有成功,2005中的“新建”中的“数据库连接”没法设置连接到oracle
      

  8.   

    wangtiecheng(不知不为过,不学就是错!)  真的很感谢你的指导.但是问题没有解决。
      

  9.   

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

  10.   

    wangtiecheng(不知不为过,不学就是错!)  真的很感谢你的指导. 太太太感谢你的耐心指导,我按照你的设置方式重新设置了,“访问接口字符串”我没填,在这一步“并设置数据源为Oracle的IP或机器名”我设置的是
    TJ_DB =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.2.8.251)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = ora2000)
        )
      ) 
    中的“192.2.8.251”
    但是运行select * from openquery(ora2000, 'select * from [SPTV].[SPTV_TAB_USER]')
    报了这个错误“链接服务器"exchange"的 OLE DB 访问接口 "MSDAORA" 返回了消息 "ORA-12514: TNS: 监听进程不能解析在连接描述符中给出的 SERVICE_NAME”
    哪我的“SERVICE_NAME”应该是怎么设置呢?
    烦请再次指点一二,不盛感激,先谢过了。
      

  11.   

    wangtiecheng(不知不为过,不学就是错!)  太谢谢你了,如果能实现我将下一个帖子的100分一起给你。
      

  12.   

    OLE DB 连接串中的 datasource 应该等于 tnsnames.ora 中 connection description 的名称 TJ_DB。
      

  13.   

    周末没有上班,没有来的急看帖子,
    ruihuahan(飞不起来的笨鸟) ( )   谢谢你,我按照你这样配置终于没有提示“连接不上了”,但是我执行“select * from openquery(A, 'select * from [SPTV].[SPTV_TAB_USER]')”
    报了这个错误:链接服务器"A"的 OLE DB 访问接口 "MSDAORA" 返回了消息 "ORA-00903: invalid table name"。
    该表确实是有的,我进入oracle的用户也确实是“sptv”为什么还有这个错误呢?不应该是“[SPTV].[SPTV_TAB_USER]”吗?我应该怎样才能访问到oracle的表呢?
    烦请再帮助我一下,谢谢了。十分感谢。
      

  14.   

    wangtiecheng(不知不为过,不学就是错!)  感谢!!!!!
      

  15.   

    yes!!!!!!  ruihuahan(飞不起来的笨鸟) ( ) 信誉:100 太感谢你了!成功了。给分了!
    我在另加分,有可不可以在sql server2005 中执行 插入 更新,删除,执行过程等操作?
    如果可以的话是怎样的呢?谢谢帮助
      

  16.   

    sql server2005 执行插入、删除、更新oracle中的表我自己鼓捣出来了,但是如何执行oracle的过程呢?请指点一下吧!
      

  17.   

    --参考:如何用sqlserver 2000链接服务器执行oracle过程http://community.csdn.net/Expert/topic/5750/5750007.xml?temp=.1604273
      

  18.   

    wangtiecheng(不知不为过,不学就是错!) ,ruihuahan(飞不起来的笨鸟) 谢谢你们,wangtiecheng(不知不为过,不学就是错!)在另个帖子里
    (http://community.csdn.net/Expert/topic/5743/5743966.xml?temp=.1424524)给了100分了,这里少给点吧。
      

  19.   

    你们有没有这样的问题, 直接用sql plus 连接oracle 访问速度挺快,但是,如果用连接服务器 访问oracle数据速度会降很多?