asp.net - 无法打开登录请求的数据库 "ASPNETDB"。登录失败。用户 'Philip-Desktop\Philip' 登录失败

标签 asp.net sql security login

几个小时以来,我一直在努力寻找这个问题的答案......

我过去在访问 ASPNETDB 数据库时不会收到此错误,但不幸的是我不知道我更改了什么。当我尝试访问名为 Admin 的文件夹中名为 Admin.aspx 的文件时出现错误。我使用网站管理工具对该文件夹设置了限制,但是当出现错误时,我将它们全部关闭以查看问题出在哪里,但我仍然收到错误? Admin.aspx 文件是唯一出现错误的文件。

我在 web.config 中的连接字符串是:

<add name="WIJLConnectionString1" connectionString="Data Source=localhost;Integrated Security=SSPI; Initial Catalog=ASPNETDB" providerName="System.Data.SqlClient" />

这是错误:

Exception Details: System.Data.SqlClient.SqlException: Cannot open database "ASPNETDB" requested by the login. The login failed. Login failed for user 'Philip-Desktop\Philip'.

[SqlException (0x80131904): Cannot open database "ASPNETDB" requested by the login. The login failed. Login failed for user 'Philip-Desktop\Philip'.]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +5009598 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +234 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2275
System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, SqlConnection owningObject) +183
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) +239
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +195
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +232
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +185
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +33 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +524
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +479
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +108
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +126
System.Data.SqlClient.SqlConnection.Open() +125 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +123
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +319
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1618
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +21 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +143 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74 System.Web.UI.WebControls.GridView.DataBind() +4 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +75 System.Web.UI.Control.EnsureChildControls() +102 System.Web.UI.Control.PreRenderRecursiveInternal() +42 System.Web.UI.Control.PreRenderRecursiveInternal() +175 System.Web.UI.Control.PreRenderRecursiveInternal() +175 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496



有人请帮忙!!此刻我很绝望

最佳答案

错误消息非常清楚:

Cannot open database "ASPNETDB" requested by the login. The login failed. Login failed for user 'Philip-Desktop\Philip'



不允许该 Windows 用户连接到该数据库并使用它。

检查以确保:
  • 您的连接字符串中有正确的服务器名称。真的是 localhost 吗?或者您是否安装了 SQL Server Express 并最终变成了 (local)\SQLExpress
  • 您连接的 服务器 Philip-Desktop\Philip 的登录名(检查 Object Explorer -> (your server) -> Security -> Logins )
  • 数据库 ASPNETDB 具有基于该登录名的用户,以便您可以使用该数据库(检查 Object Explorer -> (your server) -> Databases -> (your database) -> Security -> Users )
  • 您的 admin.aspx 页面确实引用了您提供的连接字符串( WIJLConnectionString1 )。您的 web.config 文件夹中是否有单独的 Admin ,例如有一个不同的连接字符串,而 admin.aspx 页却引用了那个连接字符串??
  • 关于asp.net - 无法打开登录请求的数据库 "ASPNETDB"。登录失败。用户 'Philip-Desktop\Philip' 登录失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4882926/

    相关文章:

    asp.net - 如果我不限制文件上传到网络服务器的最大请求长度,会出现哪些安全漏洞?

    php - 300MB 安全视频流 (PHP)

    php - 欺骗一个 PHP 文件,让它认为它单独存在于目录中

    asp.net - 无法加载类型 'CKFinder.Connector.Connector'

    javascript - 从 Jquery 调用 ASP.Net 函数

    css - 如何在我的子窗口中使用 Site.css?

    php - 使用 SQL 语句重命名 MySQL 表

    使用 jQuery 的 C# 事件

    sql - 从表中查找重复记录并删除除最新日期之外的所有记录

    MYSQL根据多个连接选择新列