求Microsoft OLEDB Provider for Oracle 驱动下载地址我用1链接服务器Microsoft OLEDB Provider for Search驱动连接上oracle了,但不会查询,有人用过吗?2链接服务器OLEDB Provider for Microsoft Directory service也连接上oracle了,也不会查询,求解释啊!

解决方案 »

  1.   

    通过建立链接服务器就可以的哈:
    --2、链接服务器为Oracle,使用oracle的oledb库MSDAORA  
    --2.1.1为建立链接服务器  
    EXEC sp_addlinkedserver   
        @server = 'OracleLinkedServer',    --要创建的链接服务器名称                  
        @srvproduct = 'Oracle',            --产品名称  
        @provider = 'MSDAORA',             --OLE DB 字符    
        @datasrc = 'orcl'                  --数据源  
       
       
    --2.1.2为创建连接服务器登陆  
    EXEC sp_addlinkedsrvlogin   
        @rmtsrvname = 'OracleLinkedServer',  --链接服务器名称  
        @useself = 'false',   
        @locallogin = NULL,  
        @rmtuser = 'scott',                  --Oracle服务器的登陆用户名   
        @rmtpassword = 'tiger'               --Oracle服务器的登陆密码   --2.2为设置链接服务器属性  
    exec sp_serveroption @server='OracleLinkedServer',  
                         @optname = 'rpc',      --从给定的服务器启动rpc  
                         @optvalue ='true'      --这样可以调用远程的存储过程  
      
    exec sp_serveroption @server='OracleLinkedServer',  
                         @optname = 'rpc out',  --对给定的服务器启动rpc   
                         @optvalue ='true'      --在远程执行DDL语句  
      
      
    --2.3查询数据  
    select * from [OracleLinkedServer].scott.emp
      
      
    --2.4为在远程服务器上执行DDL语句新建表,用oracle的方式书写语句  
    exec('create table SCOTT.EMPXX(iddd int)') at OracleLinkedServer  
      
      
    --2.5用openrowset函数,把oracle的数据直接新建表的同时插入数据  
    select *     
    from openrowset('MSDAORA','orcl';'scott';'tiger',SCOTT.EMP)  
      
      
    --2.6插入数据
    insert into openrowset('MSDAORA','orcl';'scott';'tiger',SCOTT.EMP)  
    select * from 本地表
      

  2.   

    我Sql server中没有Microsoft OLEDB Provider for Oracle 驱动,不能用   @provider = 'MSDAORA'

    错误提示:因为 OLE DB 访问接口 'MSDAORA' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。
      

  3.   

    我Sql server中没有Microsoft OLEDB Provider for Oracle 驱动,不能用   @provider = 'MSDAORA'

    错误提示:因为 OLE DB 访问接口 'MSDAORA' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。
    那能装个Microsoft OLEDB Provider for Oracle不,网上下载一个就行了哈
      

  4.   

    我Sql server中没有Microsoft OLEDB Provider for Oracle 驱动,不能用   @provider = 'MSDAORA'

    错误提示:因为 OLE DB 访问接口 'MSDAORA' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。
    你的oracle是什么版本的,10g,11g?
      

  5.   

    实在不行,就去oracle网站下载oracle的客户端吧,注意是32位,还是64位版本的,还有按照oracle的版本来下载。