Excel导入SqlServer2012提示“消息7314”

问题描述

Excel导入SqlServer2012时提示:
**消息 7314,级别 16,状态 1,第 1 行
链接服务器 “(null)” 的 OLE DB 访问接口 “Microsoft.Jet.OLEDB.4.0” 不包含表 “Sheet1”。该表不存在,或者当前用户没有访问该表的权限。**


解决方案

发现导入的表格的sheet名称为“sheet1(1)”
猜想导入的sheet名称不能包含特殊符号,尝试修改sheet名称为sheet1,问题得以解决。


代码块

exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--允许在进程中使用ACE.OLEDB.12
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
--允许动态参数
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
go

delete from [Sav].[dbo].[LIST_TG]
insert into [Sav].[dbo].[LIST_TG]
select * from 
OpenDataSource('Microsoft.Ace.OLEDB.12.0',
               'Data Source=D:\aa.xlsx;
                Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[a$] 
go

delete from [Sav].[dbo].[LIST_PB]
insert into [Sav].[dbo].[LIST_PB]
select * from 
OpenDataSource('Microsoft.Ace.OLEDB.12.0',
               'Data Source=D:\a.xlsx;
                Extended Properties="Excel 12.0;HDR=Yes;IMEX=1"')...[Sheet1$] 
go

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值