日期:2014-05-16  浏览次数:20977 次

求助excel2007导入sql2008r2
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:\daoru.xlsx')...[Sheet1$]   

消息 7302,级别 16,状态 1,第 1 行
无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 的实例。

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

之后报
消息 7303,级别 16,状态 1,第 1 行
无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 的数据源对象。

我在网上看到有人说该这个
对象资源管理器——>服务器对象——>连接服务器——>访问接口——>Microsoft.Jet.OLEDB.4.0——>(右键属性,接口选项全不启用)
但是为什么我在访问接口里面找不到Microsoft.ACE.OLEDB.12.0和Microsoft.Jet.OLEDB.4.0这个呢。

之后我在网上各种搜索发现有人说要安装AccessDatabaseEngine.exe这个后Microsoft.ACE.OLEDB.12.0就会出现
然后我就去安装AccessDatabaseEngine.exe了,默认丢到Program Files (x86)这个里面去了没问题吧?
AccessDatabaseEngine_x64.exe安装不了。

安装完AccessDatabaseEngine.exe发现访问接口还是没有Microsoft.ACE.OLEDB.12.0

之后看到执行
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    
这个也可以。。


但是,这时候在过来执行
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=Yes;IMEX=1;Database=D:\daoru.xlsx')...[Sheet1$]   
的时候发现

消息7308,级别16,状态1,第1 行
因为OLE DB 访问接口'Microsoft.ACE.OLEDB.12.0' 配置为在单线程单元模式下运行,所以该访问接口无法用于分布式查询。

然后看到有人说要安装AccessDatabaseEngine_X64.exe这个,我哭了,我安装不了啊。。


------解决方案--------------------
你的是多少位的机器?如果是32位的话 只能装32位的AccessDatabaseEngine
------解决方案--------------------
那就安装AccessDatabaseEngine_X64.exe
------解决方案--------------------
引用:
你已经安装了一个处理器
01:intel64 family 6 model 42 stepping 7 genuineintel

请确认服务器windows位数,SQL2008R2位数,Office2007位数.
并下载安装AccessDatabaseEngine2007驱动.
地址 http://www.microsoft.com/zh-cn/download/details.aspx?id=23734
------解决方案--------------------
参考看看 http://blog.csdn.net/orchidcat/article/details/7480680
------解决方案--------------------
引用:
Quote: 引用:

你服务器如果是64位的话 需要下64位 的AccessDatabaseEngine

你这个安装部了的话 建议重新下载一个安装包试试。



重新下载好多次了


我也处理过很多类似的问题。

你有qq不,方便的话,帮你看一下。