在 Windows XP 中运行时,我在 IIS 中的 ASP.NET Web 应用程序中遇到以下错误。我在 Web 应用程序中使用 Windows 身份验证。我通常会使用 SQL Server 身份验证(混合模式),但我无权访问此数据库服务器,但读取权限除外。它们只允许可信连接(或集成安全=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 中应用程序池的用户。
从 ASP.NET 访问“用户实例”数据库时出现用户权限错误
我阅读了这篇文章,但这适用于 Windows 7 中的 IIS,而不是 Windows XP。如何在 Windows XP 中解决此问题。请注意,当我在控制台应用程序中运行此代码时,它连接良好。