【问题标题】:C# VS 2019 SQLException: code works on Console App but not on WebForms appC# VS 2019 SQLException:代码适用于控制台应用程序,但不适用于 WebForms 应用程序
【发布时间】:2019-10-14 23:40:50
【问题描述】:

我在 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;
}

【问题讨论】:

  • 您的连接字符串显然不正确。问题不在您的代码中。

标签: c#


【解决方案1】:

问题可能与连接字符串有关。

Web 应用程序有时在 IIS 中以不同的用户身份运行,如果连接字符串没有明确说明它应该使用 Windows 身份验证,则 Web 服务器可能会决定使用该用户的凭据。

您的连接字符串中有Integrated Security=true; 吗?如果没有,添加它可能会有所帮助。

还可以在此处查看此答案: https://stackoverflow.com/a/1642508/1936841

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多