【问题标题】:ASP.NET MVC 4 can't find stored procedureASP.NET MVC 4 找不到存储过程
【发布时间】:2013-11-08 23:17:18
【问题描述】:

我正在使用 ASP.NET MVC 4。我正在使用两个数据库,我的数据库和用于登录和注册的默认数据库。

一切都很好,我可以调用我的存储过程,直到我尝试成为自己的成员。我的意思是我试图自定义网络安全。我真的对那件事一无所知,我现在可能用错了词。但是,正如这里的一个问题所说,我对我的班级做了一些改变。然后我运行我的应用程序,它现在给了我一个例外,我知道这对我来说很难,所以我为我更改的所有课程制作 (ctrl + z)。然后我运行,我得到了这个异常

找不到存储过程“dbo.ApartmentOwnerLogin”。

说明:在执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Data.SqlClient.SqlException:找不到存储过程“dbo.ApartmentOwnerLogin”。

来源错误:

第 395 行:new ObjectParameter("password", typeof(string));
第 396 行:
第 397 行:return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction("ApartmentOwnerLogin", usernameParameter, passwordParameter, iD);
第 398 行:}

我真的撤消了(撤消)我所做的所有更改

请帮我回去工作。

请帮帮我,我几乎完成了所有我必须做的事情,在我提交项目的前一天,我遇到了这个异常

【问题讨论】:

  • 只检查是否存储了proc。存在于 edmx 模型中,在存储过程下...该 proc 是否存在于 sql server 中

标签: asp.net-mvc entity-framework asp.net-mvc-4 stored-procedures


【解决方案1】:

A) 如果您是自己的会员,您可能不需要存储过程来登录,只需通过用户名返回用户,然后在代码中检查他们的密码。

B) 要检查您的 SP 是否沿着该路线行驶,请执行以下操作:

  1. 检查 SP 是否存在于您的 EDMX 中,通过模型浏览器执行此操作
  2. 通过 SSMS 检查您的数据库服务器上是否存在 SP
  3. 检查您是否可以使用适当的参数在 SSMS 上以自己的身份执行 SP
  4. 检查您的网站连接到数据库的用户(可能是 SQL 登录名)是否可以连接到数据库并具有存储过程的执行权限。

(4实际上可能是1的前身!)

检查的顺序应该是 2,3,4,1

在 2 处失败。如果数据库服务器上不存在它...创建它 在 3 处失败。确保过程参数和权限符合您的预期并且名称正确。 在 4 处失败。确保连接字符串中的用户作为 DBserver 上的登录名存在,作为数据库上的登录名存在,并且对该 SP 具有执行权限。 1.失败。在VS中转到“从数据库更新模型”,找到sp并将其添加到

【讨论】:

  • 由于某种原因,我的 edmx 中不存在 sp,因为模型浏览器向我显示了空的存储过程,但是我有一个文本脚本,请问如何将它们添加回来?
  • 我的意思是我点击了我的 mdf 文件,然后打开了服务器资源管理器,在那里我检查了存储的程序,但没有找到
  • 如果您在尝试将其添加到 edmx 文件时找不到 SP,那么它要么不存在于数据库中,要么您没有执行权限。 .如答案中所述
  • 我确实拥有所有权限,我是我的电脑的所有者,以及我电脑上的所有工作,在 10 小时之前我能够调用它们,但是当我玩这个 @987654321 @ 东西,尽管我重做所有更改,但它们已删除。我把它们放在我的另一个 mdf 文件中,实际上,我用新的连接制作了新的 edmx,现在我称它们为好。但我想要旧连接,因为数据在那里。总结。我怎样才能将它们添加到已经存在的连接中。对不起,如果我使用不正确的话,但英语对我不好。我希望你能理解我。
  • 如果您已经拥有数据库,同步您的 edmx 的最佳方法是打开它,右键单击某个空白区域并选择“从数据库更新模型”,这将使用为此定义的连接创建时的模型。这将打开一个窗口,列出您的数据库对象,展开“存储过程和函数”区域并找到您的 SP,单击复选框以包含它并单击“完成”,这会将 SP 导入您的 edmx。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多