解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource&

Posted cat糯米团

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource&相关的知识,希望对你有一定的参考价值。

根据需要进行asp.net的数据导入导出,结果报以下错:

mark-1:

【报错】SQL Server 阻止了对组件 \'Ad Hoc Distributed Queries\' 的 STATEMENT \'OpenRowset/OpenDatasource\' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 \'Ad Hoc Distributed Queries\'。有关启用 \'Ad Hoc Distributed Queries\' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。

 

【解决方法】开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:

1 --配置权限 
2 EXEC sp_configure \'show advanced options\', 1; 
3 GO 
4 RECONFIGURE; 
5 GO 
6 EXEC sp_configure \'Ad Hoc Distributed Queries\', 1; 
7 GO 
8 RECONFIGURE; 
9 GO 

执行结果:

 

关闭Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:

1 exec sp_configure \'Ad Hoc Distributed Queries\',0;
2 go
3 reconfigure;
4 go
5 exec sp_configure \'show advanced options\',0;
6 go
7 reconfigure;
8 go

 mark-2:

【执行】

 

1 --将excel数据导入数据库
2 select * into sheet from OPENROWSET(\'MICROSOFT.JET.OLEDB.4.0\',\'Excel 5.0;HDR=YES;DATABASE=c:\\33.xlsx\',sheet1$)

 

【报错】

1 链接服务器"(null)"的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 返回了消息 "未指定的错误"。
2 消息 7303,级别 16,状态 1,第 13 无法初始化链接服务器 "(null)" 的 OLE DB 访问接口 "MICROSOFT.JET.OLEDB.4.0" 的数据源对象。

【百度的解决办法】

发现根本原因了:management studio--->服务器对象-->链接服务器-->Microsoft.Jet.OLEDB.4.0-->右键属性-->访问接口选项:全都不选or ACE的 那个
将SQL Server(MSSQLSERVER)和SQL Full-Filter Deamon Launcher(MSSQLSERVER)两个服务的登录身份改为LocalSystem (这里可以创建一个账号如:Admin ,然后指定账号用这个)

 

以上是关于解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource&的主要内容,如果未能解决你的问题,请参考以下文章

解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource&#

解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource&#

解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource&#

转载解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasour(代

[sql异常]SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的

SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource'