两台数据库服务器之间的复制用c#多麻烦,为啥不用数据库自己的dblink实现,简单又安全。如果不能修改设计,只能select,那真是没有其他比较好的办法。

解决方案 »

  1.   

    如果要用SQL实现,可以试试下面方法,不知道能不能行得通
    服务器B通过下面方法查出全部工单号:
    select to_char(wm_concat(ID))
    from (
    select ID,
    row_number()over(order by ID) as rn
    from tt
    )t
    group by trunc(rn/1000);服务器A用not in('') and not in ('')
      

  2.   

    先是想在服务器B上查出全部工单号,再在服务器A上用not in ('',''...)这种方式
    这是多么无效率的操作~~~~~~~~
      

  3.   

    权限不够啊!!!!只能执行Select!!!
      

  4.   

    用not exists试试吧骚年、select * from A a where not exists (
    select 1 from B b where b.no = a.no
    )
      

  5.   

    not exists 吧 效率也高点
      

  6.   

    1、若有个你能控制库,建2个dblink然后查。外连、exist都行
    2、若导出和建表权限,导出后到另一个库建表然后查
    3、若啥啥没有,数据量少,用程序全查出存成文件,然后用svn对比
    4、若啥啥没有,数据量大,用程序排序查,形成2个1000长度的数组,互相对。
      

  7.   


    我也这么做了,在我的SCHEMA中建了一个表,用C#连到另一个ORACLE中,读出全部的工单号,这样在这个ORACLE中就可以进行判断了。
    可是,我是在改一个系统中的一个窗口,这个系统连接ORACLE的账号不能访问我的SCHEMA。结果还是没用。
      

  8.   

    已经跟上面领导申请了,建了一个dblink,这样问题就解决了。谢谢各位!!!结贴了!!!