我正在尝试调用存储过程并让找不到存储过程。
我尝试使用命令文本而没有存储过程,但我找不到表名。
我已经使用了这个连接字符串和在另一个项目中调用存储过程的方法,并且它已经工作了。
我甚至从我的其他项目中复制了方法,但是找不到存储过程,使用相同的连接字符串和方法。 所以它必须是这个项目的一部分。
数据库阻止了我的请求或类似的东西吗?
我在过去的3年里一直使用这种调用存储过程的方法,而这一方法完全被卡住了。
string conString = ConfigurationSettings.AppSettings["connectionStrings"];
public void ClaimPartAcceptedSet(int PartId, bool Accepted)
{
SqlConnection sqlConnection1 = new SqlConnection(conString);
SqlCommand cmd1 = new SqlCommand();
cmd1.CommandText = "AP_QuotePartsAcceptedUpdate";
cmd1.ComandType = CommandType.StoredProcedure;
cmd1.Parameters.AddWithValue("@PartId", PartId);
cmd1.Parameters.AddWithValue("@Accepted", Accepted);
cmd1.Connection = sqlConnection1;
try
{
sqlConnection1.Open();
cmd1.ExecuteNonQuery();
}
finally
{
sqlConnection1.Close();
}
}
的Web.config
<appSettings>
<add key="connectionStrings" value="data source=DEV-JHB1-1234; Initial Catalog=CarPartsAP; User Id=web_user; Password=Password;" />
</appSettings>
答案 0 :(得分:2)
尝试使用相同的凭据使用SQL Server Management Studio进行连接,并像在代码中一样调用存储过程。
这至少会验证凭据是否仍然有效以及存储过程是否有效。还可以尝试添加存储过程所在的模式:
cmd1.CommandText = "dbo.AP_QuotePartsAcceptedUpdate"
<强> - 更新 - 强>
使用SQL事件探查器查看SQL Server上究竟要调用的内容。将此与您说的确实有效的应用程序调用进行比较。
答案 1 :(得分:0)
谢谢@GiorgiNakeuri,在他的评论中回答。
采用该项目我没有注意到重复的连接字符串减速。 断点指向SqlConnection sqlConnection1 = new SqlConnection(conString);我注意到初始目录指向不同的数据库到我试图访问的目录。