【倒数据问题】oracle->sql server 使用Sql Server的DTS包,可以定时执行,也可以设转换条件。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DTS可以对比两表中的记录,变动的记录才转换。 同意使DTS,看看这个http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39142303,00.htm diskA(薛獅) :怎么对比呢?我尝试使用sql语句进行两边的表比照,如果有不同的记录则查到b的相应表中去,一般为一分钟左右,发现速度反而不如将整张表删除重建导入来得快,只需四十多秒。不过这两种速度都不是我能接受的,还有更好的方法吗?实际上它们每次需要更新的记录至多几百条啊! 如果数据量不大的话使用触发器就可以大数据量使用brightheroes的方法 我的前提是不修改a,a只管发布数据,工作都由b完成,b完成工作可以,但不要对a造成太大的影响。 如果你的程序有数据中间层的话,在所有的更改A的语句后更改b。或者所有的insert,delete,update语句通过一个公用函数来执行,在函数中向b也执行一次。这个办法效率最高。 变通了一下:将任务分解为两步:1 倒数据 dts的任务很单纯了,只负责倒数据2 比较 数据导入到b库后,再由sql语句在两张本地表之间比较,不同的执行插入操作新的问题来了:a库中的目标表是流水表,每天都会产生一张新的,dts里面只能指定具体的表,每天手工修改dts包是不现实的,如何由外部程序指定呢?大虾指点则个.... 一个不用编程的方法:在sql server 建立一个DTS.设定固定时间,比如12:00到数据,可以不用编程序的,到数据前将原来的sql server数据删除,然后重新倒入.你可以试试.这样操作在oracle这几张表数据量不是很大的情况下进行 [数据转换服务]-->[本地包]->右键->[新建包].... PB 建立的PipeLine直接导还快些。 DTS包的责任已经很明确,并且已经建立可以工作了,现在问题的焦点是:DTS要导的目标表是变化的(流水表,每天都会产生),怎么解决这个问题? 利用Sql Server的Sql server agent, 可以写Windows Script脚本,调用COM.将你的数据访问,包括表生成的逻辑放在COM中,然后通过agent调用,定期执行就行了。我觉得这样比较简单 DTS包的责任已经很明确,并且已经建立可以工作了,现在问题的焦点是:DTS要导的目标表是变化的(流水表,每天都会产生),怎么解决这个问题?急啊,大虾帮忙! oracle对现有大表进行分区 一个update 语句,大家进来看看。急。 会话级临时表问题 登录到PLSQL出现的问题 一个不知道怎么写的表内联sql语句,请教! Oracle触发器 字符串缓冲区太小的错误!!! 向各位高手求救,TNS-12637: TNS:封包接收失败 大家帮个忙,哪有oracle7.2下载呀!我现在有几个oracle库文件要恢复一下! 急问: 如何实现 ORQCLE和EXCEL的数据导入导出? sql语句问题(急,在线等候) 大家好,帮我解决一下问题 菜鸟请教:如何将字符串格式转为整形格式?
看看这个http://www.zdnet.com.cn/developer/tech/story/0,2000081602,39142303,00.htm
怎么对比呢?我尝试使用sql语句进行两边的表比照,如果有不同的记录则查到b的相应表中去,一般为一分钟左右,发现速度反而不如将整张表删除重建导入来得快,只需四十多秒。
不过这两种速度都不是我能接受的,还有更好的方法吗?
实际上它们每次需要更新的记录至多几百条啊!
大数据量使用brightheroes的方法
或者所有的insert,delete,update语句通过一个公用函数来执行,在函数中
向b也执行一次。这个办法效率最高。
将任务分解为两步:
1 倒数据
dts的任务很单纯了,只负责倒数据
2 比较
数据导入到b库后,再由sql语句在两张本地表之间比较,不同的执行插入操作新的问题来了:
a库中的目标表是流水表,每天都会产生一张新的,dts里面只能指定具体的表,每天手工修改dts包是不现实的,如何由外部程序指定呢?
大虾指点则个....
在sql server 建立一个DTS.设定固定时间,比如12:00到数据,可以不用编程序的,到数据前将原来的sql server数据删除,然后重新倒入.你可以试试.这样操作在oracle这几张表数据量不是很大的情况下进行
DTS要导的目标表是变化的(流水表,每天都会产生),怎么解决这个问题?
DTS要导的目标表是变化的(流水表,每天都会产生),怎么解决这个问题?急啊,大虾帮忙!