对象,数据库,所有者'dbo'上的EXECUTE权限被拒绝

时间:2009-09-29 13:10:54

标签: coldfusion

我在SQL2005上成功执行了一个存储过程。当我想通过CFSTOREDPROC在表单中填充结果时,我收到以下错误。

    [Macromedia][SQLServer JDBC Driver][SQLServer]EXECUTE permission denied on object 'GetPSRreportStock', database 'CGTSP_GET',

  <cfstoredproc procedure="FP_Get..GetStartStopTotalBalesCott" datasource="#TS#" username="#UNT#" password="#SPW#">

      <cfprocparam  type="in" cfsqltype="CF_SQL_INTEGER" dbvarname="@reportYear"  value="#xxMDB#">
        <cfprocparam  type="in" cfsqltype="CF_SQL_INTEGER" dbvarname="@orderMonth"     value="#xxOBDB#">
        **<cfprocresult name="ccDPR">**
    </cfstoredproc>

CF代码在MX-6中。 如何纠正错误?

3 个答案:

答案 0 :(得分:6)

检查以确保尝试运行存储过程的用户具有执行权限,您可以通过转到数据库 - &gt;在SQL Server Management Studio中执行此操作。可编程性 - &gt;并右键单击Stored Proc并选择“Properites”,然后转到“权限”部分,查看您的用户是否在那里,如果不存在,您可以添加用户并赋予其EXECUTE权限,或者您可以执行以下操作在新查询中:

GRANT EXECUTE TO <username> ON <stored proc name>

答案 1 :(得分:2)

我认为这是因为您需要向用户提供您的Web服务器作为该存储过程的EXECUTE权限(在SQL Server管理控制台中)。

答案 2 :(得分:1)

转到SQL Microsoft管理中每个存储过程中的“属性”,然后选择左侧的“权限”,然后通过在“搜索...”按钮上搜索它来添加您使用的用户,然后单击“执行检查”。框。好的,好的。