SQL 查询 EXCEL 表常见错误解决


【错误信息】

消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OleDb.12.0" 报错。提供程序未给出有关错误的任何信息。

 

环境介绍

Win7 64位、SQL SERVER 2012 64bit、OFFICE 2013  64位

 执行的代码为

 

select *  
from  OPENROWSET('Microsoft.Ace.OLEDB.12.0',    'Excel 12.0;DATABASE=E:\test.xlsx' , 'Select * from [Sheet1$]')


以下为执行过程中的错误提示和解决方法,都是一步步来的. 

错误提示 一

消息 7403,级别 16,状态 1,第 1 行
尚未注册 OLE DB 访问接口 "Microsoft.Ace.OLEDB.12.0"。
解决方法 一
 
在SQL  Management Studio中 服务器对象-->链接服务器-->访问接口,打开后只看到 Microsoft.Ace.OLEDB.15.0.
(如果EXCEL为2007 或者 2010 版本的 如果没有看到 Microsoft.Ace.OLEDB.12.0. ,要下载AccessDatabaseEngine,进行安装.下载时注意2007 2010版本和32 64位)
 所以上面语句改为以下语句后再执行.

  

select * 
 from OPENROWSET('Microsoft.Ace.OLEDB.15.0',   'Excel 12.0;DATABASE=E:\test.xlsx', 'Select * from [Sheet1$]')

  

错误提示 二
 
消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.15.0" 报错。访问被拒绝。
消息 7350,级别 16,状态 2,第 1 行
无法从链接服务器 "(null)" 的 OLE DB 访问接口"Microsoft.Ace.OLEDB.15.0"获取列信息。
但是能看到数据表的 标题行

解决方法 二

控制面板/管理工具/服务/SQL Server (MSSQLSERVER)  --> 右键 属性 --> 登录 --> 设置: 登录身份=本地系统账户  --> 重启 SQL Server (MSSQLSERVER) 服务

 

错误提示 三

消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.15.0" 报错。提供程序未给出有关错误的任何信息。
消息 7330,级别 16,状态 2,第 1 行
无法从链接服务器 "(null)" 的 OLE DB 访问接口"Microsoft.Ace.OLEDB.15.0"提取行。

解决方法 三

修改ACE接入参数,以下操作后要重启  SQL Server (MSSQLSERVER) 服务.

SQL Management Studio:SQL服务器-->服务器对象-->链接服务器-->Microsoft.ACE.OLEDB.12.0 属性-->常规-->选中:1、动态参数;2、允许进程内

 

或者

  

USE [master]    

GO    

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.15.0', N'AllowInProcess', 1    

GO    

EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.15.0', N'DynamicParameters', 1    

GO    

 

 

一般情况下问题应该是已经解决的了.

错误提示 四

消息 7399,级别 16,状态 1,第 1 行
链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.Ace.OLEDB.15.0" 报错。提供程序未给出有关错误的任何信息。
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器“(null)”的 OLE DB 访问接口“Microsoft.Ace.OLEDB.15.0”的数据源对象。

解决方法 四

1,这时可能EXCEL 处于不可编辑状态,看看是不是打开了,如果打开了要关闭上才行.

2,如果没有文件打开,那么可以打开EXCEL表,看看有没有说“文件正在被占用”之类,如果有的话可以过一会再试试.

 


开启外围配置


--开启高级设置
  
exec  sp_configure 'show advanced options' ,1reconfigure
  
--开启外围设置
exec  sp_configure 'Ad Hoc Distributed Queries' ,1reconfigure 



文章参照了 http://blog.csdn.net/wonsoft/article/details/7730976

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值