加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – SQL Server:无法为链接服务器“(null)”初始化OL

发布时间:2021-03-31 11:20:03 所属栏目:MsSql教程 来源:网络整理
导读:我试图运行以下查询: SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:Somefile.xlsx','SELECT * FROM [Sheet$]') 但我得到这个错误: Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12

我试图运行以下查询:

SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:Somefile.xlsx','SELECT * FROM [Sheet$]')

但我得到这个错误:

Cannot initialize the data source object of OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)".

我尝试了以下方法:

sp_configure 'show advanced options',1;
RECONFIGURE;
sp_configure 'Ad Hoc Distributed Queries',1;
RECONFIGURE;
GO

和:

USE [master]
GO


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

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

当我转到’服务器对象’时 – > ‘链接服务器’ – > ‘Providers’,Microsoft.ACE.OLEDB.12.0已列出.

安装了Acess Database Engine x64,所有Office产品都是64位,我的SQL Server也是64位.

如果重要,所有用户都可以访问Users文件夹中的Temp文件夹.

(这些都是我在这个问题的类似答案中找到的建议)

编辑:使用SQL Server 2014.

解决方法

确保关闭Excel电子表格并以管理员身份运行SSMS.

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读