我在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中。 如何纠正错误?
答案 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管理中每个存储过程中的“属性”,然后选择左侧的“权限”,然后通过在“搜索...”按钮上搜索它来添加您使用的用户,然后单击“执行检查”。框。好的,好的。