开发环境:WIN7+SQL SERVER 2008 R2已经执行了以下语句:
EXEC sp_configure 'show advanced options',1 
RECONFIGURE;EXEC sp_configure 'Ad hoc Distributed Queries',1;
RECONFIGURE;
当我执行以下sql语句时
  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试了还是不行。请问是什么原因?谢谢!

解决方案 »

  1.   

    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
    前提是你的 数据库 链接服务器--访问接口中 有该接口。如果没有就到官方下一个安装上。就可以了
      

  2.   

    估计是接口的事儿。 
    建议直接用12.0参考http://topic.csdn.net/u/20100915/10/6707b1dc-40a5-4321-b562-cb953a23de9b.html
      

  3.   

    谢谢OrchidCat,按你这样做的解决了。