C# SQL Server阻止访问组件“Ole自动化过程”的过程“sys.sp_OACreate”

C# SQL Server阻止访问组件“Ole自动化过程”的过程“sys.sp_OACreate”,c#,sql,sql-server,sql-server-2012,C#,Sql,Sql Server,Sql Server 2012,SQL Server阻止访问组件的sys.sp_OACreate过程 “Ole自动化过程”,因为此组件已作为 此服务器的安全配置的一部分。制度 管理员可以通过以下方式启用“Ole自动化过程”的使用: 使用sp_配置。有关启用“Ole”的详细信息 “自动化过程”,请参见SQL Server中的表面积配置 在线图书 我尝试启用Ole自动化过程,如下所示: sp_configure 'show advanced options', 1 GO RECONFIGURE; GO sp_config

SQL Server阻止访问组件的sys.sp_OACreate过程 “Ole自动化过程”,因为此组件已作为 此服务器的安全配置的一部分。制度 管理员可以通过以下方式启用“Ole自动化过程”的使用: 使用sp_配置。有关启用“Ole”的详细信息 “自动化过程”,请参见SQL Server中的表面积配置 在线图书

我尝试启用Ole自动化过程,如下所示:

sp_configure 'show advanced options', 1 

GO 
RECONFIGURE; 
GO 
sp_configure 'Ole Automation Procedures', 1 
GO 
RECONFIGURE; 
GO 
sp_configure 'show advanced options', 1 
GO 
RECONFIGURE;

当我执行查询时,我成功地获得了输出。但是,当尝试通过windows窗体时,我遇到了这个错误。请帮助我启用Ole自动化过程只是问题的一部分。您需要授权执行:

GRANT EXECUTE ON master..sp_OACreate to [??]
GRANT EXECUTE ON master..sp_OASetProperty to [??]
GRANT EXECUTE ON master..sp_OAMethod to [??]
GRANT EXECUTE ON master..sp_OADestroy to [??]

[??]必须是具有主控访问权限的用户/角色。

以下示例显示如何查看OLE自动化过程的当前设置

EXEC sp_configure 'Ole Automation Procedures';
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO

下面的示例演示如何启用OLE自动化过程

EXEC sp_configure 'Ole Automation Procedures';
GO
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ole Automation Procedures', 1;
GO
RECONFIGURE;
GO
试着运行这个3

sp_configure 'show advanced options', 1 
GO 
RECONFIGURE; 
GO 
sp_configure 'Ole Automation Procedures', 1 
GO 
RECONFIGURE; 
GO 
sp_configure 'show advanced options', 1 
GO 
RECONFIGURE;

Ole Automation Procedures选项也可以通过SSMS进行配置,方法是右键单击感兴趣的服务器实例,选择Facets以打开View Facets对话框。在“常规”页面的“镶嵌面”下拉列表中,选择“表面积配置”。OleAutomationEnabled是显示的镶嵌面属性列表中的一个选项。真=开。根据您正在执行的操作,您可能还需要启用XPCmdShellEnabled设置。正如其他人所写,我不是建议用户启用此设置,而是建议如何通过界面执行此设置。

我在谷歌上搜索了您的错误,是什么阻止了您这样做。。下面是此返回的链接:从sys.configurations中选择value_in_use,其中name='Ole Automation Procedures';?您是否尝试使用带覆盖的重新配置;?在这里,我可以通过执行查询来发送短信,但是当通过windows窗体尝试时,我发现了这个错误。首先,让我们看看你到底在用sp_OA解决什么问题。在SQL Server 2000中,这似乎是一种有效的方法,但无论您在做什么,都有更好的方法,而且不必使用有缺陷、内存泄漏和不推荐的sp_OA过程。^^^@AaronBertrand:我试图通过调用API使用查询发送sms。当通过查询执行时,我正在编辑输出。但是当我试着用C语言浏览windows窗体时,我发现了上面的错误。希望你得到医疗但不工作你有什么建议吗?