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 中存在,
支持sxf_zero(从头再来),这种方法可以。
支持yczyk支持sxf_zero(从头再来),这种方法可以。 :)
上面的语句在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;
另外建一个数据连接,建一个数据表与Access关联,把需要导入的数据查询出来,然后一条一条写进去!方法2:
用语句直接把筛选数据导入SQLServer中!
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 中存在,
:)
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;