当我实现此代码(Excel Sheet to Sql Server)时出现此错误。
无法为链接服务器“(null)”初始化OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”的数据源对象。 OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”用于链接服务器“(null)”返回消息“未指定错误”。
我做了以下所有事情,
还安装2010 Office System驱动程序:数据连接组件
然后也是同样的问题。
答案 0 :(得分:0)
由于访问潜水员和SQL服务器之间不兼容,我遇到了同样的问题。我甚至无法更改系统的权限。 以下是适合我的解决方案:
<强>前提条件:强>
<强>问题:强>
SELECT * 来自OPENROWSET( &#39; Microsoft.ACE.OLEDB.12.0&#39 ;, &#39; Excel 12.0; HDR = YES;数据库= C:\ temp \ Book.xlsx&#39;, &#39;从[Sheet1 $]&#39;)
中选择*
OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)" returned message "Could not find installable ISAM.". Msg 7303, Level 16, State 1, Line 1 Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
<强>解决方案:强>
access_drive_path&gt; access_dirve_name.exe / passive
E.g. C:\Users\user_name\Downloads>AccessDatabaseEngine.exe /passive
安装32位SQL Server(EXPRESS版本,因为它是免费的)。
通过执行以下查询启用Ad Hoc Distributed查询和动态参数等:
EXEC sp_configure 'show advanced options', 1 RECONFIGURE GO EXEC sp_configure 'ad hoc distributed queries', 1 RECONFIGURE GO USE [master] 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
还有一件事....确保您尝试阅读的文件未打开。