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

来源:互联网 发布:黎姿长相知乎 编辑:程序博客网 时间:2024/06/03 11:13

通过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


 


原创粉丝点击