gpt4 book ai didi

asp.net - 解析 "Login failed for user ''。该用户未与受信任的 SQL Server 连接相关联。”在 Windows XP 的 IIS 中

转载 作者:行者123 更新时间:2023-12-05 06:47:12 24 4
gpt4 key购买 nike

在 Windows XP 中运行时,我在 IIS 中的 ASP.NET Web 应用程序中遇到以下错误。我在 Web 应用程序中使用 Windows 身份验证。我通常会使用 SQL Server 身份验证(混合模式),但除了读取权限外,我无权访问此数据库服务器。它们只允许可信连接(或 Integrated Security=SSPI;)意味着使用我们的 Windows 网络身份验证用户。

错误:

Login failed for user ''. The user is not associated with a trusted SQL Server connection.

.NET代码:

SqlConnection conn = new SqlConnection(
"server=server_name;" +
"Integrated Security=SSPI;" +
"database=db_name;" +
"connection timeout=30;");
SqlDataReader rdr = null;
List<Ticket> list = new List<Ticket>();

try
{
conn.Open();
SqlCommand cmd = new SqlCommand("SELECT TOP 10 [HEATSeq],[AssignedBy] FROM [dbo].[Asgnmnt]", conn);
rdr = cmd.ExecuteReader();
while (rdr.Read())
{
Ticket record = new Ticket();

record.ticket_id = rdr[0].ToString();
record.assigned_by = rdr[1].ToString();
}
}
catch (Exception e)
{
string x = "";
}
finally
{
if (rdr != null)
{
rdr.Close();
}
if (conn != null)
{
conn.Close();
}
}

这与我在 Jon Skeet 在这里的第一个问题中回答的问题类型相同。在 Windows 7 中,您通常会将应用程序池设置为使用 LOCAL MACHINE 或 NETWORK SERVICE 运行(如果您选择不使用 SQL Server 身份验证)。除了我不知道在哪里更改 IIS 6 中应用程序池的用户。

User permission error when accessing "user instance" database from ASP.NET

我阅读了这篇文章,但这适用于 Windows 7 中的 IIS,不适用于 Windows XP。我如何在 Windows XP 中解决此问题。请注意,当我在控制台应用程序中运行此代码时,它连接正常。

http://blogs.msdn.com/b/sql_protocols/archive/2008/05/03/understanding-the-error-message-login-failed-for-user-the-user-is-not-associated-with-a-trusted-sql-server-connection.aspx

最佳答案

在 MSDN 中找到了答案。

http://msdn.microsoft.com/en-us/library/ab4e6cky(v=vs.80).aspx

如果 URL 将来发生变化,我将从上面的文档中粘贴下面的文本。如果处理 Windows 7,Fickle 的回答是正确的。根据我正在阅读的内容,您必须在运行 SQL Server 的远程计算机上为计算机的计算机(在 Windows XP 中运行 IIS)授予特权。我发现让 SQL Server 的 DBA 为我创建一个帐户以通过 SQL Server 身份验证登录更容易。

=====================

此错误可以有多种形式,包括:

用户“(null)”登录失败

用户域\用户名登录失败

用户计算机\ASPNET 登录失败

可能的原因是您正在使用 Web 应用程序并试图访问运行 Microsoft SQL Server 的计算机。引发的特定错误或异常取决于 Web 服务器是否也在运行 SQL Server。出现此问题是因为 Web 应用程序未将有效凭据传递给 SQL Server。通常,您可以通过执行以下操作之一来解决此问题:

  • 如果 Web 服务器也在运行 SQL Server,请授予本地 ASPNET 用户登录权限(Windows 2000 和 Windows XP)或授予服务器上的 NT AUTHORITY\NETWORK SERVICE 登录权限(Windows Server 2003)。

  • 如果 SQL Server 正在远程计算机上运行并且 Web 服务器正在运行 IIS 6.0,请授予 Web 服务器的机器帐户在远程计算机上的登录权限。计算机帐户引用为 DOMAIN\MACHINENAME$。

  • 将 ASP.NET 设置为在运行 SQL Server 的计算机上具有登录权限的 Windows 域用户运行。

  • 使用连接字符串来使用 SQL Server 标准安全性。为此,您必须使用明确的用户 ID 和密码配置连接字符串。

有关详细信息,请参阅从 Web 应用程序访问 SQL Server。

关于asp.net - 解析 "Login failed for user ''。该用户未与受信任的 SQL Server 连接相关联。”在 Windows XP 的 IIS 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12360865/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com