日期:2014-05-17  浏览次数:20481 次

sql语句实现 sql到access的导入导出
  用sql语句在查询分析器里面 将数据库查询出来的表数据 直接导到access里面 不要手动在access里面建表。


例如 我查询sql:
SELECT Dept_No, Dept_Name, ParentID, ShopID, Manager, Address, Tel, Allname, 
      Dept_level, Type, Bank, Remark, status
FROM BaseDept

然后要将这查询结果导出到access 。  请问该怎么弄比较好。我之前是这么写的:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="d:\acc.mdb";User ID=sa;Password=')...basedept(Dept_No, Dept_Name, ParentID, ShopID, Manager, Address, Tel, Allname, 
      Dept_level, Type, Bank, Remark, status)
SELECT Dept_No, Dept_Name, ParentID, ShopID, Manager, Address, Tel, Allname, 
      Dept_level, Type, Bank, Remark, status
FROM BaseDept

但是报错 :

OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。验证失败。
[OLE/DB provider returned message: 无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。]
OLE DB 错误跟踪[OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80040e4d:  验证失败。]。



求各位指教。
------解决方案--------------------
在SQLServer执行一下看看有没有用:
sp_configure 'show advanced options', 1 
  GO
  RECONFIGURE
  GO
  sp_configure 'Ad Hoc Distributed Queries', 1 
  GO
  RECONFIGURE
  GO

------解决方案--------------------
可以在数据库上面点击右键-任务-数据输出,然后一步一步按照提示做。
------解决方案--------------------
mdb文件是否在同一台机器上?
是否只读?
是否有完全权限?
mdb文件版本多少?
是32位还是64位?
如果mdb对应的access是2007及以上版本,不能用Microsoft.Jet.OLEDB.4.0,要用Microsoft.ACE.OLEDB.12.0;
另外检查下OLEDB驱动是否安装,是否正常