系统用的是delphi+sqlserver
现在要实现一个功能:在前台把access数据导入至sqlserver,
还要选择符合要求的字段,不是所有access字段都导入请给出在delphi程序中实现的具体代码,谢谢!!

解决方案 »

  1.   

    可以用一个ADOQUERY连接ACCESS数据库,取出所有你想要的数据 ,然后用另一个ADOQUERY连接SQLSERVER数据库。再把数据一条一条的导入SQLSERVER。
      

  2.   

    方法1:
    另外建一个数据连接,建一个数据表与Access关联,把需要导入的数据查询出来,然后一条一条写进去!方法2:
    用语句直接把筛选数据导入SQLServer中!
      

  3.   

    insert into mytable -- mytable 为sql server 中的表,即目的表
    SELECT p1,p2 FROM  OpenDataSource --在这里选择列
    ('Microsoft.Jet.OLEDB.4.0','Data Source="c:\source.mdb" ; User ID=Admin ;password=')...sourcetable 
    --sourcetable 为Access 数据库中的表,即源表
    where p1=p2 --这里是筛选条件导入时,mytable表必须在sql server 中存在,
      

  4.   

    支持sxf_zero(从头再来),这种方法可以。
      

  5.   

    支持yczyk支持sxf_zero(从头再来),这种方法可以。
    :)
      

  6.   

    上面的语句在delphi中执行有点问题,改成下面的就ok了 哈哈 
      ADOQuery1.Close;
      ADOQuery1.SQL.Clear;
      ADOQuery1.SQL.Add(' insert into mytable ');
      ADOQuery1.SQL.Add(' SELECT p1,p2 FROM ' );//选择列
      ADOQuery1.SQL.Add(' openrowset(''Microsoft.Jet.OLEDB.4.0'',''c:\source.mdb''; ''admin'';'''',stable)');//那个空参数为Access数据库密码
      ADOQuery1.SQL.Add(' where p1=p2');//筛选条件
      ShowMessage(ADOQuery1.SQL.GetText());
      ADOQuery1.ExecSQL;
      

  7.   

    (''Microsoft.Jet.OLEDB.4.0'',''c:\source.mdb''; ''admin'';'''',stable)');//那个空参数为Access数据库密码 stable 是源表