您的位置:首页 > 数据库

SQLSERVER从excel中批量导入数据 64位系统

2014-01-06 15:34 471 查看
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

select * into [YTYJPT.MDF].[dbo].[表名]
from openrowset(
'Microsoft.Ace.OleDb.12.0',
'Excel 12.0;HDR=NO;IMEX=1;Database=C:\data\temp\excel文件名.xlsx',
[sheet1名字$])

--注意这里,要先关闭外围的设置,然后再关闭高级选项
exec sp_configure'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure'show advanced options',0
reconfigure
--关闭ACE.OLEDB.12的选项
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 0
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLED

可能出现问题:
因为 OLE DB 访问接口 'Microsoft.Ace.OleDb.12.0' 配置为在单线程单元模式下运行
所以该访问接口无法用于分布式查询 。

解决方案是
1、安装Office 2010 64位版
2、Microsoft Access Database Engine 2010 的X64版本
我计算机系统是64位系统,64为的sqlserver2008 R2
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  excel sqlserver