【问题标题】:"Could not find stored procedure <Proc Name Here>"“找不到存储过程 <Proc Name Here>”
【发布时间】:2014-01-27 19:48:43
【问题描述】:

我正在尝试向我的页面添加一个控件。我正在跟随向导。第 1 步,我选择我的连接字符串。连接正常,没有错误消息。第 2 步,我选择“指定自定义 SQL 语句或存储过程”单选按钮。第 3 步,在“SELECT”选项卡中单击“Stored Prodedure”单选按钮,然后选择我要使用的存储过程。我将此视为连接字符串正常工作的确认。第 4 步,我按下“测试查询”按钮。

弹出消息“执行查询时出错。请检查命令的语法,如果存在,请检查参数的类型和值并确保它们正确。找不到存储过程。

我已经在 SSMS 中测试了该过程,并且可以正常工作。我获取了存储过程中的查询字符串,并将收音机从第 3 步更改为“SQL 语句”并将字符串粘贴到框中。该语句运行良好。

我还将连接字符串中指定的登录权限更改为我在服务器上拥有的相同权限。 (完全的管理员权限!)这并没有解决问题。我在论坛里只发现了几个关于这个问题的问题,都指向了权限问题,但是我在设置权限时已经排除了。

在我走向导时,向导可以找到程序,但在我测试时却找不到。

我希望有人能指出我正确的方向...谢谢!

* 编辑 * 只是为了扩展@BlackjacketMack 的答案:

当我使用向导创建 SqlDataSource 并从列表中选择存储过程时,看起来 VS 在运行时默认使用 dbo 模式,即使它显示了每个模式中的所有存储过程。 (我通过将 sproc 所在的模式更改为 dbo 并对其进行测试来验证这一点。结果返回没有错误。)在向导中,我看不到任何更改模式的选项。如果我单击“SQL 语句”单选按钮并键入 EXECUTE [APP001].[MyStoredProcedure],它会完美运行。我确实按照@otaku 的建议尝试了 GRANT EXECUTE,但这没有用。我还将连接字符串中指定的用户的默认架构更改为 [APP001] 无济于事。因此,在使用向导中的下拉菜单时,这似乎是一个问题。手动输入数据以便完全限定架构就可以了!

【问题讨论】:

  • 检查架构、dbo、sde 等。确保过程和连接使用相同的模式。这就是我想到的。
  • 谢谢@Jaan! sproc 有一个模式 APP001,我验证了指定的登录名是该模式的所有者。还有什么我应该做的吗?
  • 据我所知,它背后没有这样的魔力,在不知道您的系统配置的情况下很难回答您的问题。如果我是你,即使我确定它们是正确的,我也会仔细检查它们,但在这种情况下隐藏着一些微小的东西。大声笑

标签: asp.net sql-server-2008 stored-procedures sqldatasource


【解决方案1】:

确保您正在运行的应用程序在数据库对象上执行了适当的授权。有时它们与数据库角色相关联,例如下面的存储过程需要具有执行权限:

GRANT EXECUTE ON ][dbo].[MyStoreProc] TO U_ExecuteProcs

【讨论】:

  • 谢谢。在发布我的问题之前,我已经验证了这一点,并在将 BlackjacketMack 的帖子标记为正确答案之前进行了重新测试。
【解决方案2】:

使用架构限定您的过程如果 proc 具有您在评论中指出的架构“APP001”,请确保正在传递的 Sql 类似于 EXEC APP001.YourStoredProcedureName

使用分析器! 解决此问题的一个好方法是在您的 SQL 上运行分析器...MS Profiler,或者我们使用以前免费的http://anjlab.com/en/projects/opensource/sqlprofiler。基本上,您将确切地看到您的应用程序正在发送什么 SQL 以及他们以谁的身份发送它。

如果您按照您的指示授予自己管理员权限,我不会仅仅因为它们往往无人维护而定义太多特定于对象的权限。

【讨论】:

    【解决方案3】:

    我认为在存储过程中定义执行上下文可以解决问题,链接如下:

    http://technet.microsoft.com/en-us/library/ms188354.aspx

    【讨论】:

    • 谢谢@Amo。我在存储过程中添加了“EXECUTE AS OWNER”,但仍然收到相同的错误消息。
    猜你喜欢
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    相关资源
    最近更新 更多