• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

奋斗中...

曾经的程序员。ASP.NET/C#, JavaScript, PL/SQL, T-SQL; 工具: VS2003/2005, Oracle, SQLServer; 偶尔写点CSS, 批处理.
头脑中经常有新想法, 可惜没有去实现.
Never give up.
Never get into a fight with a pig. Both of you will get dirty. But the pig actually enjoys it.
  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

SQL Server 2005 访问接口 "Microsoft.ACE.OLEDB.12.0" 报错 问题

SQL Server 2005 访问接口 "Microsoft.ACE.OLEDB.12.0" 报错 问题

近日安装了SQL Server Express SP3,尝试用以下代码导入Excel 2003格式文件。

select * from OpenRowSet
('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\test.xls','select * from [sheet1$]')

出现以下错误(其他错误按照提示操作即可):

消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 报错。访问被拒绝。
消息 7301,级别 16,状态 2,第 1 行
无法从链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 获取所需的接口("IID_IDBCreateCommand")。

 

或者类似错误信息,比如找不到列等等,都是“访问被拒绝”原因造成的。看起来有点像引擎的访问权限不够。

http://wandejun1012.iteye.com/blog/1571118 中提到:

将SQL Server(MSSQLSERVER)和SQL Full-Filter Deamon Launcher(MSSQLSERVER)两个服务的登录身份改为LocalSystem

安装的时候默认是network service。不过本人觉得这样修改治标不治本,而且有安全隐患。

 

http://topic.csdn.net/u/20090602/17/2b46432b-7770-4444-982c-b81d442f34b9.html

这上面有关于这方面的讨论,也有其他解决方法。上面37楼指出的方法多人反馈可行:

发现根本原因了:management studio--->服务器对象-->链接服务器-->Microsoft.Jet.OLEDB.4.0-->右键属性-->访问接口选项:全都不选

 

今天我安装SQL Server Express SP4解决问题。估计是SP3与Excel 2007引擎的兼容性不是那么好,SP4就解决了这个问题。而通过右键我的电脑-管理-服务,查看SQL SERVER的服务运行账户,仍然是network service。

 

--补充:后来在另外一台电脑上(Windows XP SP3)安装又不行。

112213303312

posted on 2012-08-06 19:08  jes  阅读(6775)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3