如果本机有sql2000或sql7,用Dos的Bcp命令,这个命令在VB中用shell方法处理此批处理命令

解决方案 »

  1.   

    因为两个表分处不同的两个数据库,不能用SQL语句中的in子句(我觉得用ADO好像不能,不知道是不是确实不能用)
      

  2.   

    谁说不可以,只不过在表名前要加server名及库名
      

  3.   

    Dim Cn1 As New ADODB.Connection
    Dim Cn2 As New ADODB.Connection
    Dim Rs1 As New ADODB.Recordset
    Dim Rs2 As New ADODB.Recordset假设已经连接成功,那么我想查询出既在Rs1中又在Rs2中的记录,这样的SQL语句如何写呢?怎么引用Server名和库名?
      

  4.   

    to: KasenHOo(卡森)
    有专门的字段用来过滤不需要更新的记录,是在本地的数据库上,不过这很简单,不提也罢,我只是想知道大家都用什么办法来减少网络传输数据量。就是说,假如用了专门的字段过滤后仍然存在大量的记录,那么怎么处理这种情况。
    这是我和我的朋友学习ADO时遇到的问题,我们两个都是晚上上网,所以我们在我们自己的计算机上都安装了SQL Server 2000为对方作服务器,因为我们都是用拨号上网的,所以就想到了我上面提到的问题。因为我们只是做一些试验用来学习,只有几十条记录的数据量,所以没感觉速度多慢。不过问题还是提出来让大家讨论讨论,希望有一个比较好的解决方案。
      

  5.   

    Bcp "远程数据库名..表名"  in  C:\从本地数据库中导出的数据文本文件 -a -q -S 远程服务器名 -U 登录名 -P 登录密码
    此处 in 为导入,如果为out则导出数据文件。
    注意:所操作的两个表结构必须为相同,否则,会出错或丢失数据
      

  6.   

    select * from local_table lt,远程服务器名.数据库名.dbo.表名 rt where lt.xxx=rt.xxx
      

  7.   

    远程数据库并不能随时都连接,我先在本地进行数据库操作,然后上网连接到远程数据库进行更新,所以不能同时删除远程数据库中的表(至于 baimaoan(安)说的将两个表关联起来由于这个原因也不太可行)。关于删除我想了一个解决办法,就是单独做一个标志删除的字段,在本地删除的时候只是将删除字段标记为真,当连上网之后执行更新的时候,同时删除本地和远程的记录。