SQL Server 2008阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭

通过sql 存储过程将数据生成excel到指定目录 提示如下错误:

 SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ole Automation Procedures'。有关启用 'Ole Automation Procedures' 的详细信息,请参阅 SQL Server 联机丛书中的 "应用配置器"。。语句终止……

 该存储过程在sqlserver2000上生成excel没有问题,但在sql server 2008就提示此错误,通过查看联机丛书发现, sql server 2008实例默认是将 Ole Automation Procedures选择设置为禁用的,将其启用即可。启用方法如下:


可以将 Ole Automation Procedures 选项设置为以下值。

0 禁用 OLE Automation Procedures。 SQL Server 新实例的默认值。
1启用 OLE Automation Procedures。
当启用 OLE Automation Procedures 时,对 sp_OACreate 的调用将会启动 OLE 共享执行环境。

可以使用 sp_configure 系统存储过程来查看和更改 Ole Automation Procedures 选项的当前值。

更改方法:


以下示例显示了如何查看 OLE Automation Procedures 的当前设置。

EXEC sp_configure 'Ole Automation Procedures';GO
以下示例显示了如何启用 OLE Automation Procedures。

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

经过上面执行后,生成excel成功。

微软技术链接 http://msdn.microsoft.com/zh-cn/library/ms191188.aspx
---------------------
作者:luckings
来源:CSDN
原文:https://blog.csdn.net/luck2018/article/details/7759454
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-05-15 16:54  华翎科技  阅读(884)  评论(0编辑  收藏  举报