Oracle两台服务器之间数据过滤问题

zbdzjx 2013-12-04 04:01:23
我们公司有两台Oracle的服务器,用途不同,但有一部分数据会用一个C#的程序从一台复制部分到另一台上。
如工单这个表,会有部分工单资料从服务器A复制到服务器B。
现在想快速找出服务器A中工单这个表,有哪些工单号没有复制到服务器B上。
先是想在服务器B上查出全部工单号,再在服务器A上用not in ('',''...)这种方式,但提示not in后面的字符串不能超过1000个。
再试not in (select '' from dual union all select '' from dual ...)这种方式,提示
ORA-04031这个错误。
因为权限问题,只能在这两个服务器的Oracle中执行select命令。
请高手指点一下,有没有什么好办法。
...全文
311 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zbdzjx 2013-12-13
  • 打赏
  • 举报
回复
已经跟上面领导申请了,建了一个dblink,这样问题就解决了。 谢谢各位!!! 结贴了!!!
zbdzjx 2013-12-13
  • 打赏
  • 举报
回复
引用 10 楼 xu176032 的回复:
随便建个库,把你要比较的数据导进来,直接左连,右连啥都给你比较出来
我也这么做了,在我的SCHEMA中建了一个表,用C#连到另一个ORACLE中,读出全部的工单号,这样在这个ORACLE中就可以进行判断了。 可是,我是在改一个系统中的一个窗口,这个系统连接ORACLE的账号不能访问我的SCHEMA。结果还是没用。
xu176032 2013-12-13
  • 打赏
  • 举报
回复
随便建个库,把你要比较的数据导进来,直接左连,右连啥都给你比较出来
Doit_wch 2013-12-13
  • 打赏
  • 举报
回复
引用 8 楼 shenlele088 的回复:
1、若有个你能控制库,建2个dblink然后查。外连、exist都行 2、若导出和建表权限,导出后到另一个库建表然后查 3、若啥啥没有,数据量少,用程序全查出存成文件,然后用svn对比 4、若啥啥没有,数据量大,用程序排序查,形成2个1000长度的数组,互相对。
高端大气上档次啊~
shenlele088 2013-12-12
  • 打赏
  • 举报
回复
1、若有个你能控制库,建2个dblink然后查。外连、exist都行 2、若导出和建表权限,导出后到另一个库建表然后查 3、若啥啥没有,数据量少,用程序全查出存成文件,然后用svn对比 4、若啥啥没有,数据量大,用程序排序查,形成2个1000长度的数组,互相对。
  • 打赏
  • 举报
回复
引用 6 楼 lu010610 的回复:
not exists 吧 效率也高点
我同意
_拙计 2013-12-11
  • 打赏
  • 举报
回复
not exists 吧 效率也高点
  • 打赏
  • 举报
回复
用not exists试试吧骚年、

select * from A a where not exists (
select 1 from B b where b.no = a.no
)
zbdzjx 2013-12-04
  • 打赏
  • 举报
回复
引用 3 楼 gioh0022 的回复:
先是想在服务器B上查出全部工单号,再在服务器A上用not in ('',''...)这种方式 这是多么无效率的操作~~~~~~~~
权限不够啊!!!!只能执行Select!!!
  • 打赏
  • 举报
回复
先是想在服务器B上查出全部工单号,再在服务器A上用not in ('',''...)这种方式 这是多么无效率的操作~~~~~~~~
jascjasc 2013-12-04
  • 打赏
  • 举报
回复
如果要用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 ('')
shiyiwan 2013-12-04
  • 打赏
  • 举报
回复
两台数据库服务器之间的复制用c#多麻烦,为啥不用数据库自己的dblink实现,简单又安全。 如果不能修改设计,只能select,那真是没有其他比较好的办法。

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧