今天单位一ASP.NET网站,里面有个功能是导出数据,发现一导出就报错,报错内容是:SQL Server 阻止了对组件 ‘Ad Hoc Distributed Queries‘ 的 STATEMENT‘OpenRowset/OpenDatasource‘ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘Ad Hoc Distributed Queries‘。有关启用 ‘Ad Hoc Distributed Queries‘ 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。
看错误提示就知道是因为SQL Server的Ad Hoc Distributed Queries组件被禁用了,这里我用的SQL Server版本是2005,只需要开启Ad Hoc Distributed Queries就可以了,方法如下:
1.开启Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:
1
2
3
4
|
exec sp_configure ‘show advanced options‘,1 reconfigure exec sp_configure ‘Ad Hoc Distributed Queries‘,1 reconfigure |
2.关闭Ad Hoc Distributed Queries组件,在sql查询编辑器中执行如下语句:
1
2
3
4
|
exec sp_configure ‘Ad Hoc Distributed Queries‘,0 reconfigure exec sp_configure ‘show advanced options‘,0 reconfigure |
------------------------------ 前台修改------------------------------
在程序中系统提示:SQL Server 阻止了对组件 ‘ Ad Hoc Distributed Queries ’ 的 STATEMENT ‘ OpenRowset/OpenDatasource ’ 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 ‘ Ad Hoc Distributed Queries ’。有关启用 ‘ Ad Hoc Distributed Queries ’ 的详细信息,请参阅SQL Server联机丛书中的 “ 外围应用配置器 ”。
1、开始 — 所有程序 — Microsoft SQL Server 2008 R2 — SQL Server Management Studio(如图1-1)。
2、进入后会弹出窗口【连接到服务器】,在【身份验证】选择中【Windows身份验证】— 点击【连接】(如图1-2)。
3、在数据库服务实例名(如图1-3,GP-PC\sql2008位置)点击鼠标右键【方面】。
4、在窗口【查看方面】— 点击【常规】— 【方面】— 选择【外围应用配置器】(如图1-4)。
5、找到【AdHocRemoteQueriesEnabled】— 选择【True】— 点击【确定】(如图1-5)退出后再登录程序即可。