我在服务器上有一个存储过程。本地开发和我拥有的远程开发服务器都使用相同的服务器。
当我在本地计算机上进行调试时,该站点运行正常。当我发布它时返回:
存储过程' vts_spUserGetUserIdFromUserName'不存在。 描述:执行期间发生未处理的异常 当前的网络请求。请查看堆栈跟踪了解更多信息 有关错误的信息以及它在代码中的起源。
异常详细信息:System.InvalidOperationException:存储的 程序' vts_spUserGetUserIdFromUserName'不存在。
来源错误:
执行期间生成了未处理的异常 当前的网络请求。有关的来源和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。
堆栈追踪:
[InvalidOperationException:存储过程 ' vts_spUserGetUserIdFromUserName'不存在。]
System.Data.SqlClient.SqlCommand.DeriveParameters()+3962
System.Data.SqlClient.SqlCommandBuilder.DeriveParameters(SqlCommand的 命令)+127
Microsoft.Practices.EnterpriseLibrary.Data.Database.DiscoverParameters(的DbCommand 命令)+154
Microsoft.Practices.EnterpriseLibrary.Data.ParameterCache.SetParameters(的DbCommand 命令,数据库数据库)+114
Microsoft.Practices.EnterpriseLibrary.Data.Database.AssignParameters(的DbCommand command,Object [] parameterValues)+42
Microsoft.Practices.EnterpriseLibrary.Data.Database.GetStoredProcCommand(字符串 storedProcedureName,Object [] parameterValues)+70
Microsoft.Practices.EnterpriseLibrary.Data.Database.ExecuteScalar(字符串 storedProcedureName,Object [] parameterValues)+38
Votations.NSurvey.SQLServerDAL.User.GetUserByIdFromUserName(字符串 userName)+226
Votations.NSurvey.WebAdmin.NSurveyAdmin.UserControls.LoginBox.ValidateCredentialsButton_Click(对象 发件人,EventArgs e)+168
System.Web.UI.WebControls.Button.OnClick(EventArgs e)+11761917
System.Web.UI.WebControls.Button.RaisePostBackEvent(字符串 eventArgument)+150 System.Web.UI.Page.ProcessRequestMain(布尔值 includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) 6016
存储过程绝对存在。我有KDiff两个web.config文件,没有区别。 我能想到的唯一问题是,在服务器上,它作为另一个根站点的子应用程序在Web应用程序中。这可能是原因。它是从其他应用程序继承数据库连接字符串?如果有,我有什么方法可以阻止这种行为吗?
答案 0 :(得分:0)
检查创建存储过程的模式。
我可能会在您的帐户下创建存储过程,这就是为什么当您在本地计算机上运行它时能够找到SP而不是在服务器上的其他帐户下运行时。