RT  小弟刚入门,正在研究sqlserver远程访问Sybase数据库,远程链接已经搞好了sqlserver里面select语句也可以查询到sybase数据库里面的表数据。   现在想做一个对sybase数据库的一个CDC,不知道支不支持。 求大神来指教啊~~~~~~~~

解决方案 »

  1.   

    不可以对sybase做cdc,cdc是对本库做监控
      

  2.   

    这个CDC变更数据捕获,只适合于微软的sql server吧,不适合在sybase里面做把。
    sybase和sql server还是不一样的
      

  3.   

    我做的实验http://blog.csdn.net/dba_huangzj/article/details/8130448
      

  4.   

    本库是什么意思呢?指的是只能对sqlserver数据库做CDC么? 
      

  5.   

     
    大神。。我就是看你这个慢慢学起来的,的确有用。我现在就是想实际用起来吧,遇到的问题就比较多。。而且我现在换sqlserver12了,08的SSIS调用CDC貌似要自己写许多存储过程,吾等菜鸟伤不起啊。。
      

  6.   


    谢谢回复哦~ 那如果我远程链接的是sqlserver数据库呢?可以对他进行启动CDC么?
      

  7.   


    另外,我如果想对远程链接的Sybase数据库做实时的同步更新(就是类似CDC的功能)。例如:sybase数据库为源数据库,其中有一张表增改了一条数据,我这边sqlserver的目标库可以随着他进行同等更新操作。。请问有什么方法实现么?
      

  8.   


    谢谢回复哦~ 那如果我远程链接的是sqlserver数据库呢?可以对他进行启动CDC么?这样应该可以,然后再sql server端,提炼修改的数据,把修改的数据,同步到sysbase
      

  9.   


    谢谢回复哦~ 那如果我远程链接的是sqlserver数据库呢?可以对他进行启动CDC么?这样应该可以,然后再sql server端,提炼修改的数据,把修改的数据,同步到sysbase我如果想对远程链接的Sybase数据库做实时的同步更新(就是类似CDC的功能)。例如:sybase数据库为源数据库,其中有一张表增改了一条数据,我这边sqlserver的目标库可以随着他进行同等更新操作。。请问有什么方法实现么?
      

  10.   


    谢谢回复哦~ 那如果我远程链接的是sqlserver数据库呢?可以对他进行启动CDC么?这样应该可以,然后再sql server端,提炼修改的数据,把修改的数据,同步到sysbase我如果想对远程链接的Sybase数据库做实时的同步更新(就是类似CDC的功能)。例如:sybase数据库为源数据库,其中有一张表增改了一条数据,我这边sqlserver的目标库可以随着他进行同等更新操作。。请问有什么方法实现么?
    可以考虑用连接服务器+触发器来实现。
      

  11.   


    谢谢回复哦~ 那如果我远程链接的是sqlserver数据库呢?可以对他进行启动CDC么?这样应该可以,然后再sql server端,提炼修改的数据,把修改的数据,同步到sysbase我如果想对远程链接的Sybase数据库做实时的同步更新(就是类似CDC的功能)。例如:sybase数据库为源数据库,其中有一张表增改了一条数据,我这边sqlserver的目标库可以随着他进行同等更新操作。。请问有什么方法实现么?
    首先,在sybase上建立到sql server的连接服务器,然后在sybase中相应的表上,建立触发器,当触发器被触发时,通过链接服务器,向远处的sql server表中插入数据,更新数据,删除数据
      

  12.   

    我找了一个代码,连接服务器那个修改一下,你试试,/*  
      作者:邹建  
      */  
       
      /*--同步两个数据库的示例  
       
      有数据  
      srv1.库名..author有字段:id,name,phone,  
      srv2.库名..author有字段:id,name,telphone,adress  
       
      要求:  
      srv1.库名..author增加记录则srv1.库名..author记录增加  
      srv1.库名..author的phone字段更新,则srv1.库名..author对应字段telphone更新  
      --*/  
       
      --大致的处理步骤  
      --1.在   srv1   上创建连接服务器,以便在   srv1   中操作   srv2,实现同步  
      exec   sp_addlinkedserver     'srv2','','SQLOLEDB','srv2的sql实例名或ip'  
      exec   sp_addlinkedsrvlogin   'srv2','false',null,'用户名','密码'  
      go  
       
      --2.在   srv1   和   srv2   这两台电脑中,启动   msdtc(分布式事务处理服务),并且设置为自动启动  
      我的电脑--控制面板--管理工具--服务--右键   Distributed   Transaction   Coordinator--属性--启动--并将启动类型设置为自动启动  
      go  
       
       
      --3.实现同步处理  
       
      --a.在srv1..author中创建触发器,实现数据即时同步  
      --新增同步  
      create   trigger   tr_insert_author   on   author  
      for   insert  
      as  
      set   xact_abort   on  
      insert   srv2.库名.dbo.author(id,name,telphone)  
      select   id,name,telphone   from   inserted  
      go  
       
      --修改同步  
      create   trigger   tr_update_author   on   author  
      for   update  
      as  
      set   xact_abort   on  
      update   b   set   name=i.name,telphone=i.telphone  
      from   srv2.库名.dbo.author   b,inserted   i  
      where   b.id=i.id  
      go  
       
      --删除同步  
      create   trigger   tr_delete_author   on   author  
      for   delete  
      as  
      set   xact_abort   on  
      delete   b    
      from   srv2.库名.dbo.author   b,deleted   d  
      where   b.id=d.id  
      go  
       
       
      

  13.   

    同步可以有很多方式,但是cdc只是sql server的功能
      

  14.   


    用触发器会影响到源数据库。。对方公司不同意,,不过还是谢谢你了,我研究下怎么给分啊。第一次发帖就遇到各种好人啊哦,触发器确实会有一定的影响,你试试用sybase的数据库复制技术,能不能把数据从sybase复制到sql server。