2011-02-03 86 views
4

我一直在努力尋找這個問題的答案現在幾個小時...無法打開登錄請求的數據庫「ASPNETDB」。登錄失敗。登錄失敗的用戶菲利普桌面菲利普'

我用來訪問ASPNETDB數據庫時不會出現此錯誤,但不幸的是我不知道我改變了什麼。當我嘗試訪問名爲Admin.aspx的文件時,出現此錯誤,該文件位於名爲Admin的文件夾中。我使用網站管理工具對此文件夾設置了限制,但是當錯誤出現時,我將它們全部關閉以查看問題所在,並且仍然出現錯誤?該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

有人請幫助!我絕望的在這一點上

回答

10

錯誤信息是明確的,因爲它可以:

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)。您的Admin文件夾中是否有單獨的web.config?有不同的連接字符串,並且admin.aspx頁面引用該連接字符串?

+0

@ Philip906:`localhost`,`(local)`和`.`應該都是等價的;問題是:你的SQL Server是作爲主/默認實例安裝的,沒有單獨的實例名稱,或者你是否安裝了例如Express,默認爲`SQLExpress`實例名稱(需要添加到您的服務器名稱,以連接到它) – 2011-02-03 09:49:08

1

感謝您的迴應我找出了錯誤。

顯然,我的所有SqlDataSource連接字符串在Admin.aspx中已經從使用指向正確數據庫(WIJL)的連接字符串更改爲指向ASPNETDB數據庫的連接字符串WIJLConnectionString1。我只需要改變連接字符串

+0

您是否使用實體框架?在某些情況下運行模型創建嚮導可能會導致此問題。 – 2011-02-03 19:21:05