我正在ASP.NET Webforms项目中使用VS 2019,尝试在远程SQL Server数据库上执行存储过程时遇到以下错误:
System.Data.SqlClient.SqlException:'无法打开登录请求的数据库“ AMSTSUFSS”。登录失败。
用户'AMERICAS \ espinjon'登录失败。'
我可以使用SSMS中的Windows身份验证登录。另外,相同的代码在控制台应用程序中也可以正常工作,因此表单,onlick事件,发布中必定存在某些问题。...我不知道,这现在使我发疯!请帮忙。
这是代码,在行da.Fill(table);
上失败:
private static System.Data.DataTable GetListOflocIds(SqlConnection Conn, DateTime pStartDate, DateTime pEndDate)
{
System.Data.DataTable table = new System.Data.DataTable();
using (var cmd = new SqlCommand("UBOX.SP_GetPartnerList", Conn))
using (var da = new SqlDataAdapter(cmd))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@StartDate", SqlDbType.Date).Value = pStartDate;
cmd.Parameters.Add("@EndDate", SqlDbType.Date).Value = pEndDate;
da.SelectCommand.CommandTimeout = 180;
da.Fill(table);
}
return table;
}
答案 0 :(得分:0)
该问题可能与连接字符串有关。
Web应用程序有时会在IIS中的不同用户下运行,并且如果连接字符串未明确指出应使用Windows身份验证,则Web服务器可能会决定使用该用户的凭据。
您的连接字符串中是否有Integrated Security=true;
?如果没有,添加它可能会有所帮助。
也可以在这里查看以下答案: https://stackoverflow.com/a/1642508/1936841