将SQL 6.5 的数据转移到SQL2000由于SQL6.5的text字段与SQL2000有差异。
无法用SQL工具进行转换,则用程序实现。
使用delphi 6的ADOQuery控件。
先用sql语句选出需要转换的数据。
再用循环添加到数据库中。
with ADOQuery2 do           //插入数据
  Try
   Close;
    SQL.Clear;
    SQL.Add( 'insert into dbo.text (dd,fg) values ('''+dd+''','''+fg+''')');
    //application.MessageBox(sql.GetText,'');
    ExecSQL;
    except
    begin
    showmessage('添加数据失败!:'+dd);
    exit;
   end;
  end;
程序运行时,
总是在16574条出错。  

解决方案 »

  1.   

    在except部分,把出错记录(sql 6.5中)那条记录字段全部取出来看看有什么异常数据,我做过这样的数据转换,设计到很多表的,一个个表这样循环转换,我把所有为成功记录的ID全部用个文本文件记录下来了,出错后继续下一条记录而不中断,然后再把未成功的异常记录另外处理
    只能凭经念说这些了
      

  2.   

    经检查,出错原因不是因为纪录有错。
    而是sql6.5数据库在每次数据读到2000多条时。
    自动断开连接。
    而且不能恢复连接。