打开db2的table1,查得他的最大id号 这里假设为 1000
右击db1的table1/全部任务/导入数据/下一步/
     数据源:选sqlserver oledb提供程序
选择db2所在的服务器,选择身份验证方式,
选择数据库为db2,下一步
     数据源:选sqlserver oledb提供程序
选择db1所在的服务器,选择身份验证方式,
选择数据库为db1,下一步
选取通过sql语句查询数据,下一步
输入查询语句:
select id+1000 as id,Name,Age,'bj' as area from table1 where area='sh' 检查语法
下一步....

解决方案 »

  1.   

    谢谢xchen(蓝冰)!
    我主要是希望配制成一个DTS包,使用的SQL语句(受了你的启发)可能如下:
    Insert into db1.dbo.table1(Name,Age,Area)
    Select Name,Age,Area From db2.dbo.table1就是将db2中的数据原封不动地插入db1(ID通过SQL的自动增加进行顺延)。不过,因为这个dts包将通过job定期调用(例如1天1次),所以还要避免重复的数据(db2中的数据不能删除)。该如何实现呢?另外,请问一下job中如何调用这个dts包呢?
      

  2.   

    我想你的id是主键,在db2中的数据插入到db1时候遭到了破坏,所以很难分辨
    或者在table1中再加一字段进行标识吧!
      

  3.   

    哦,明白了。ID虽然可以作为DB中记录的主键(用于实现合并),但作为数据的主键必须另外存在.