新微赢技术网

标题: [求助]数据库转移 [打印本页]

作者: 天泪离星    时间: 2009-12-27 02:36
标题: [求助]数据库转移
现在有两个数据库都已经写入了一定的数据,想把他们合并,但是其中有一些数据是重复的.希望合并到一个数据库里面并且没有重复项,希望高手指路,最好给出ASP实现ACCESS转移的部分关键代码,不省感激.
作者: 红苹果校园    时间: 2009-12-27 02:36
set rs = server.createobject("adodb.recordset")
sql = "select * from table1"
rs.open sql,conn,1,1
do while not rs.eof
set rs1 = server.createobject("adodb.recordset")
sql1 = "select * from table2 where 字段='"&rs("字段")&"'"
rs1.open sql1,conn,1,1

if rs1.eof then
set rs2 = server.createobject("adodb.recordset")
sql2 = "insert语句"
rs2.open sql2,conn,1,3
rs2.close
set rs2 = nothing
end if
rs1.close
set rs1 = nothing
rs.movenext
loop
rs.close
set rs = nothing

用这样循环每一条记录并进行比较的方法应该可以做到。。
但注意的是这种方法并不是十分的可取
当数据库中记录数量非常大的时候CUP的占用会很高
还有就是 如果2个数据库都是同一种的话还可以
如果一个是SQL 一个是AC的换 就要考虑这两个数据库中的指针移动速度的问题了
SQL的指针会比AC的快 容易出现数据不符等错误
要做一定的时间延迟 例如隔几秒插入一些数据。。。。。

感觉应该还有更好的方法
关注中。。
作者: 飘渺    时间: 2009-12-27 02:37
高手出招,果然不同.谢谢两位了
作者: $星辰    时间: 2009-12-27 02:37
3楼的好厉害  你的方法我没考虑到。。。
作者: 阳光aiq浪子    时间: 2009-12-27 02:37
也可以用联合查询的方式,select * into 数据库1.table3 from 数据库1.table1 union(select * from 数据库2.table2)。如果用union all则把所有的记录包括重复的都会添加到table3,用union则只是添加了不同的项。
作者: 老肥    时间: 2010-2-23 05:05
美丽让男人停下,智慧让男人留下。




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2