100分问高手:如何给mssql提供一个接口访问oracle中多个结构相同的表?
orcle中的表按小时生成,如A-2007031400,A-2007031401,...,A-2007031423,A-2007031500,A-2007031501,...,A-2007031523...等,如何实现在mssql中用A就可以访问上述以A开头的数据表?
------解决方案--------------------用链接服务器,并在Oracle分配给连接用户访问指定表的权限。
------解决方案--------------------至于连接.建立好主机字符串,连接到oracle.   
 如何实现在mssql中用A就可以访问上述以A开头的数据表? 
 这个要用到系统表了.帮顶.
------解决方案--------------------ql server中操作ORACLE是用这程方式的吧: 
 EXEC sp_addlinkedserver   'oracle_link ',  
     'Oracle 7.3 ',  
     'MSDAORA ',  
     'ORCLDB ' 
 GO 
 delete from openquery(oracle_link, 'select *  from tt ') 
 但如果我想根据某个字段删除一条记录的时候怎么办呢?比如,我要根据tt表中的字段t删除记录,而t又是动态生成的怎么办,我试过下面这种方式,但是不行: 
 declare @v varchar(100) 
 set @v=33 
 delete from openquery(oracle_link, 'select *  from tt where t= '+@v) 
 希望高手能进来帮帮忙,谢谢     
 C. 使用用于 Oracle 的 Microsoft OLE DB 提供程序 
 此示例创建一台名为 LONDON Mktg 的链接服务器,该服务器使用用于 Oracle 的 Microsoft OLE DB 提供程序,并且假设此 Oracle 数据库的 SQL*Net 别名为 MyServer。   
 USE master 
 GO 
 -- To use named parameters: 
 EXEC sp_addlinkedserver 
    @server =  'LONDON Mktg ', 
    @srvproduct =  'Oracle ', 
    @provider =  'MSDAORA ', 
    @datasrc =  'MyServer ' 
 GO 
 -- OR to use no named parameters: 
 USE master 
 GO 
 EXEC sp_addlinkedserver  
     'LONDON Mktg ',  
     'Oracle ',  
     'MSDAORA ', 
     'MyServer ' 
 GO     
 exec( 'delete from openquery(oracle_link, ' 'select *  from tt where t= ' '+@v+ ') ')   
------解决方案--------------------帮顶,并学习
------解决方案--------------------用存儲過程可以實現 
 存儲過程里面動態取其A開頭的表,union all 起來 
 最后返回數據集