与数据库的连接出现问题
本文关键字:问题 连接 数据库 | 更新日期: 2023-09-27 18:21:30
我正在尝试调用一个存储过程,get找不到存储过程。
我尝试使用命令文本,但没有存储过程,结果找不到表名。
我在另一个项目中使用了这个连接字符串和调用存储过程的方法,它已经成功了。
我甚至从我的另一个项目中复制了可以工作的方法,但却找不到具有相同连接字符串和方法的存储过程。所以它必须是这个项目中的一部分。
可能是数据库阻止了我的请求或类似的事情吗?
在过去的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>
尝试使用与代码中相同的凭据使用SQL Server Management Studio进行连接并调用存储过程。
这将至少验证凭据是否仍然有效,以及存储过程是否有效。同时尝试添加存储过程所在的架构:
cmd1.CommandText = "dbo.AP_QuotePartsAcceptedUpdate"
--更新--
使用SQL事件探查器可以查看SQL Server上到底调用了什么。将此与您所说的来自应用程序的调用进行比较。
感谢@GiorgiNakeuri,在他的评论中回答。
采用该项目时,我没有注意到重复的连接字符串减速。SqlConnection上的断点指向sqlConnection1=新的SqlConnection(conString);我注意到初始目录指向与我试图访问的数据库不同的数据库。