开发者社区> y0umer> 正文

无法初始化链接服务器 "(null)" 的 OLE DB 访问接口

简介: 目的 : sql2008 读取 excel 环境  :sql2008 win7 excel(版本不详) 执行 : SELECT *   FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',          'Data Source="c:/ebilling.xls";Extended properties=Excel 5.0')...sheet1$ 显示错误:链接服务器"(null)"的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 返回了消息 "未指定的错误"。
+关注继续查看

目的 : sql2008 读取 excel

环境  :sql2008 win7 excel(版本不详)

执行 : SELECT *   FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
          'Data Source="c:/ebilling.xls";Extended properties=Excel 5.0')...sheet1$

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

 

解决方法:

1.启用Ad Hoc Distributed Queries

--启用Ad Hoc Distributed Queries:

exec sp_configure "show advanced options",1
reconfigure
exec sp_configure "Ad Hoc Distributed Queries",1
reconfigure
--使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure "Ad Hoc Distributed Queries",0
reconfigure
exec sp_configure "show advanced options",0
reconfigure
2.执行语句修改为 :SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source=c:/ebilling.xls;Extended properties=Excel 8.0')...Sheet1$
参考原文:
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Jet.OLEDB.4.0" 的数据源



问题:
在SQL服务器上用sa账号登陆后执行

SELECT * FROM OpenDataSource( "Microsoft.Jet.OLEDB.4.0","Data Source="d:/a.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" 的数据源对象。
此语句以前正常。大约1周前出现上述问题,我们查阅了大量的资料都无法解决,请高手赐教


解决:

1、文件是不是加密码了
2、xls要关闭,不能打开
3、是否允许OPENDATASOURCE 支持
4、你是2005 还是2000?

5.启用Ad Hoc Distributed Queries

--启用Ad Hoc Distributed Queries:

exec sp_configure "show advanced options",1
reconfigure
exec sp_configure "Ad Hoc Distributed Queries",1
reconfigure
--使用完成后,关闭Ad Hoc Distributed Queries:
exec sp_configure "Ad Hoc Distributed Queries",0
reconfigure
exec sp_configure "show advanced options",0
reconfigure
问题:
尚未注册 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0"。 

解决:
安装office2010 且需安装另一款组件。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
数据库——报错:无法创建链接服务器 “(null)“ 的 OLE DB 访问接口 “Microsoft.Ace.OLEDB.12.0“ 的实例。
数据库——报错:无法创建链接服务器 “(null)“ 的 OLE DB 访问接口 “Microsoft.Ace.OLEDB.12.0“ 的实例。
743 0
SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值
原文:SQL SERVER使用ODBC 驱动建立的链接服务器调用存储过程时参数不能为NULL值     我们知道SQL SERVER建立链接服务器(Linked Server)可以选择的驱动程序非常多,最近发现使用ODBC 的 Microsoft OLE DB 驱动程序建立的链接服务器(Linked Server), 调用存储过程过程时,参数不能为NULL值。
801 0
SQL Server修改数据库对象所有者(Owner)浅析
原文:SQL Server修改数据库对象所有者(Owner)浅析 在SQL Server数据库中如何修改数据库对象(表、视图、存储过程..)的所有者(Owner)呢?一般我们可以使用系统提供的系统存储过程sp_changeobjectowner来修改。
1262 0
链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI11" 指示该对象没有列,或当前用户没有访问该对象的权限。
原文:链接服务器 "(null)" 的 OLE DB 访问接口 "SQLNCLI11" 指示该对象没有列,或当前用户没有访问该对象的权限。   SELECT * FROM OPENROWSET('SQLOLEDB', 'server=.
5642 0
EntityFrameWork连接多Db配置
  如题所示,EF作为微软主推的ORM工具,最新版本已经是7,说明有很多人在使用它做项目。在使用过程中,可能会连接不同的数据库,本文介绍的是连接SqlServer,MySql和SQLite三种,并且可以互相切换。
1394 0
+关注
y0umer
高级网络安全技术员
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
SQL Server 2017
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
相关实验场景
更多