我这有两台服务器甲、乙,两台服务器都有SQL数据库,并且数据库的表结构相同。我现在要将甲服务器的SQL数据库的一个表里的部分数据,插入到乙服务器的SQL数据库中的一个与甲服务器的结构完全相同的表里面。
备注:1、两台服务器不在一个地方,通过网络连接;
      2、我考虑过通过SELECT将甲服务器的数据选择出来,通过DATASET,采用FOR循环,一条一条记录的插入。如: For m = 0 To dbb.Tables(0).Rows.Count - 1 
Dim inswww As New SqlClient.SqlCommand("insert goods values('" & dbb.Tables(0).Rows(m).Item(0) & "',.......)", wwwcon)
  inswww.ExecuteNonQuery()
  Next
 我希望能够找到更好的办法解决。
     3、希望能得到一次性把dataset的数据直接插入数据库的代码;或者是通过FOR循环一条记录一条记录的插入数据库,但是在插入数据库的语句里面使用goods values('" & dbb.Tables(0).Rows(m).Item(0) & "',.......)这样的语句。
     4、找到好的办法,主要是希望能提高处理效率。

解决方案 »

  1.   

    修改第三点备注:3、希望能得到一次性把dataset的数据直接插入数据库的代码;或者是通过FOR循环一条记录一条记录的插入数据库,但是在插入数据库的语句里面不使用goods values('" & dbb.Tables(0).Rows(m).Item(0) & "',.......)这样的语句,希望能有其它的写法:不用象我的代码指定每一个字段对应的值
      

  2.   

    3、希望能得到一次性把dataset的数据直接插入数据库的代码;或者是通过FOR循环一条记录一条记录的插入数据库,但是在插入数据库的语句里面使用goods values('" & dbb.Tables(0).Rows(m).Item(0) & "',.......)这样的语句。
    --------------------------------------------------------
    你不就是用的FOR循环么不知道你要求什么
      

  3.   

    3、希望能得到一次性把dataset的数据直接插入数据库的代码;或者是通过FOR循环一条记录一条记录的插入数据库,但是在插入数据库的语句里面使用goods values('" & dbb.Tables(0).Rows(m).Item(0) & "',.......)这样的语句。
    --------------------------------------------------------
    你不就是用的FOR循环么不知道你要求什么我的意思是能不能对Dim inswww As New SqlClient.SqlCommand("insert goods values('" & dbb.Tables(0).Rows(m).Item(0) & "',.......)", wwwcon)这个语句做一些修改,提高效率。
    当然,最好是不使用FOR语句,看有没有其它的方法一次性解决,直接把DATASET的TABLES直接插入目的数据库表。
      

  4.   

    在甲上添加乙为linked server
    就可以像找操作本地数据库一样啦