日期:2014-05-18  浏览次数:20623 次

sql server 2008 r2读取excel
开发环境:WIN7+SQL SERVER 2008 R2

已经执行了以下语句:
SQL code
EXEC sp_configure 'show advanced options',1 
RECONFIGURE;

EXEC sp_configure 'Ad hoc Distributed Queries',1;
RECONFIGURE;

当我执行以下sql语句时
SQL code
  SELECT *  
 FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
 'Data Source="D:\test.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$] 

但仍然报错:
链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源对象。

同样的sql语句在sql server 2012里面跑就没有任何问题。

按照http://www.cnblogs.com/xiaofengfeng/archive/2011/11/15/2249762.html试了还是不行。

请问是什么原因?谢谢!

------解决方案--------------------
SQL code
SELECT *  
 FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 
 'Data Source="D:\test.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$] 


Microsoft.Jet.OLEDB.4.0 改成 Microsoft.Jet.OLEDB.4.0
前提是你的 数据库 链接服务器--访问接口中 有该接口。如果没有就到官方下一个安装上。就可以了

------解决方案--------------------
估计是接口的事儿。 
建议直接用12.0

参考http://topic.csdn.net/u/20100915/10/6707b1dc-40a5-4321-b562-cb953a23de9b.html