存储过程执行的有关问题,待

存储过程执行的问题,在线等待
我想用存储过程来导入excel数据sql server2005,然后用asp.net来调用存储过程,储存过程如下:
ALTER PROCEDURE [dbo].[Insert_SB_x_HTCKTJ]
      @str VARCHAR(5000),
      @RT INT OUTPUT
AS
BEGIN
      EXEC sp_configure 'show advanced options', 1;
      RECONFIGURE;
      EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
      RECONFIGURE;
      INSERT  INTO SB_x_HTCKItem
        SELECT
            *
        FROM
            OPENDATASOURCE('Microsoft.Ace.OLEDB.12.0',
                           'Data Source="G:\SB_Manage\UploadedExcel\HTCKItem.xlsx";Extended properties="Excel 12.0;HDR=Yes"')...[Sheet1$]


      EXEC sp_configure 'Ad Hoc Distributed Queries', 0 
      RECONFIGURE 
      EXEC sp_configure 'show advanced options', 0 
      RECONFIGURE   
END
IF @@ERROR = 0
   SET @RT=1
ELSE
   SET @RT=0
储存过程在编译的时候提示如下错误:
SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。有关启用 'Ad Hoc Distributed Queries' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 
怎么解决啊!而整个程序在查询分析器中执行是正确的。
------解决方案--------------------
用sa或者有sysadmin权限的帐号在sqlserver management studio中执行这个语句再试试会不会报错:
sp_configure 'show advanced options',1
go
RECONFIGURE
go
sp_configure 'Ad Hoc Distributed Queries',1
go
RECONFIGURE
go