亿博 发表于 2009-1-13 15:35:00

Access数据库与SQLserver2000的数据互导

  通过使用SQLserver的查询分析器执行SQL语句实现:
  
  一.将Access数据导入到SQLserver中
  
  在SQLserver中执行如下语句就能将Access 中B04表中的数据导入到SQLserver中的sqltablenaem表中
  INSERT INTO sqltablename(sfield1,sfield2,sfield3,sfield4,sfield5,sfield6)
  SELECT CONVERT(char(10),afield1),afield2,afield3,afield4,afield5,afield6
  FROM opendatasource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\doc\accessdb.mdb";Jet OLEDB:Database Password=abc)...B04
  说明:
  1.CONVERT(char(10),afield1)可以对数据的类型进行转换,控制长度;
  2.在“opendatasource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\doc\accessdb.mdb";Jet OLEDB:Database Password=abc)...B04”中Data Source="c:\doc\accessdb.mdb为Access数据库的物理路径(保证两个数据库在一台机器上);
  3.Password=abc中“abc”是Access数据库的密码,如果数据库无密码就不填写;
  4.B04为在Access数据库中的表名;
  5.也可以加一些条件如WHERE afield='a' and ...,有选择条件的导入数据
  
  二.将SQLserver数据导入到Access中
  
  在SQLserver查询分析器中执行如下代码
  
  INSERT INTO opendatasource( 'Microsoft.Jet.OLEDB.4.0','Data Source="c:\doc\accessdb.mdb";Jet OLEDB:Database Password=abc)... B04 (afield1,afield2,afield3,afield4,afield5,afield6)
  SELECT sfield1,sfield2,sfield3,sfield4,sfield5,sfield6
  FROM sqltablename
  说明:
  1.也可以加一些条件如WHERE afield='a' and ...,有选择条件的导入数据。
  
  总结:
  
  这都是插入语句,文章中只用到INSERT 的一种形式,还有其它的形式都可以用于数据互导。 <
页: [1]
查看完整版本: Access数据库与SQLserver2000的数据互导