我们的数据库是sql2005 当我们的数据库中的数据发生变化时,同事需要增删改查oracle库中的某些表,如何通过分布式查询来完成此操作。在线等。。

解决方案 »

  1.   

    在SQL Server端建一个链接服务器到Oracle.
    然后就可以自由操作了..
      

  2.   

    在SQL SERVER 中访问ORACLE数据库服务器的几种方法
    1.通过行集函数opendatasource
    select *  from opendatasource('MSDAORA', 'Data Source=XST4;User ID=manager;Password=sjpsjsjs')..MISD.PBCATCOL
    其中,MSDAORA是OLEDB FOR ORACLE的驱动,
    用户名和表名一定要大小,服务器和用户名之间是两个点;并且User ID和要查询的用户名必须是一样的,不能以其他用户名登陆2. 使用MS SQL的openrowset函数
    select A.* from openrowset('MSDAORA','XST4';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A 
    order by A.ID
     使用这种方式一定要用别名才行3.使用ODBC方式
    select A.* from openrowset('MSDAORA','XST4_ODBC';'manager';'sjpsjsjs', 'MISD.PBCATCOL') as A order by A.ID
    XST4_ODBC是ODBC数据源4.使用链接服务器方式
    EXEC SP_ADDLINKEDSERVER
    @server='mylinkedserver',      --链接服务器名称
    @srvproduct='Oracle',          --固定
    @provider='MSDAORA',           --固定
    @datasrc='XST4'                --oracle本地服务名设置链接服务器的远程登陆数学,在安全性页面中选中“用此安全上下文进行”
      

  3.   

    在你程序前端做修改删除等操作的时候多一步,操作ORACLE数据库表的步骤。