首页 新闻 会员 周边

根据Id列把数据导入到不同数据库的一个表中

0
悬赏园豆:50 [已解决问题] 解决于 2014-02-27 16:49

       在数据库DataBaseA.TableA表中根据条件查询出了大量数据的Id列(自增主键),现在根据Id,把DataBaseA.TableA中的数据所有列导入到DatabaseB.TableB表中。

      DataBaseA和DataBaseB不在同一个服务器上,我想问一下这种情况最优的导入方法应该是什么呢?            

王老大的主页 王老大 | 初学一级 | 园豆:157
提问于:2014-02-21 16:32
< >
分享
最佳答案
0

看数据量多少了,如果有几千条就直接insert到远程服务器。如果几十万,导出sql语句到文件,发到远程服务器再执行。或者使用sql management studio的数据导入导出功能。

收获园豆:20
空明流光 | 初学一级 |园豆:106 | 2014-02-21 20:34

并不是把A的所有数据导入到B中 而是在程序里经过了一些过滤操作,然后把没有过滤掉的数据根据Id值导入到B中.导入程序也是要在代码里执行的 不好意思 前边没说清楚.

从A中 select * from [tablename] where [id] in (1,2,3,324,45)放入DataReader中 然后

用SqlBulkCopy.WriteToServer(rd)导入的B中的  不清楚这种情况是不是最优的方法 

王老大 | 园豆:157 (初学一级) | 2014-02-24 14:51
其他回答(3)
0

把DataBaseA复制下来附加到DataBaseB的服务器上,然后把DataBaseB的ID自增关闭,insert into dbo.DataBaseB.TableB select * from dbo.DataBaseA.TableA,然后再把自增恢复就可以了.

收获园豆:10
happydaily | 园豆:260 (菜鸟二级) | 2014-02-21 18:23
0

建一个服务器链接,这样就可以跨服务器操作了...

收获园豆:10
拾梦小侠ด้้้ | 园豆:713 (小虾三级) | 2014-02-25 08:56
0

最优 那得你自己慢慢动手写写画画自己比较了,一般能解决就行

收获园豆:10
开山怪不怪 | 园豆:544 (小虾三级) | 2014-02-26 17:34
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册