2017-04-25 110 views
1

我剛剛上傳我的網站到服務器,並得到一個錯誤稱爲「無法打開數據庫請求登錄登錄失敗登錄失敗的用戶」。實體框架無法打開數據庫請求通過登錄 - 登錄失敗用戶

在上Application_Start方法中我的Global.asax文件,我有這樣的:

Database.SetInitializer<MyContext>(null); 

所以我手動創建我的數據庫,並使用腳本之後創建表。但是當我想登錄時,它會給我一個錯誤。

在我的數據庫中,我的表格,登錄頁面的用戶名和密碼看起來很好。只是無法連接到數據庫。

我的ConnectionString是:

<add name="MyDatabase" connectionString="Data Source=serveradress;Initial Catalog=MyDatabase;User ID=username;Password=password;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" /> 

我會的意見表示感謝。

+0

假設你使用MS-SQL:你可以通過SQL管理工作室使用給定的憑據連接到數據庫嗎? – Stefan

+0

檢查您的SQL Server是否啓用了TCP/IP通信。我想問題在EF和服務器之間。也可能是防火牆。 – nocodename

+0

我可以通過SQL管理工作室上的這些證書進行連接。我的網站文件託管公司。 –

回答

-1

連接到數據庫服務器

你應該檢查,如果你的服務器可以連接到數據庫服務器。也許防火牆阻止了連接。

如果服務器使用TCP/IP,那麼最簡單的方法就是telnet到SQL Server端口並查看它是否連接。默認情況下,這是1433端口,所以這應該工作:

telnet servername 1433 

這可能會在大多數情況下,適當的。

如果它使用不同的端口或動態端口(與命名實例共同),那麼您需要確定它當前正在監聽哪個端口。檢查SQL Server配置管理器以查看它是特定端口還是動態端口。如果它使用的是動態端口,那麼只要在服務器上沒有多個實例,netstat -abn可能是找到它所用內容的最簡單方法。否則,請深入瞭解Windows事件日誌或SQL Server錯誤日誌,以獲取指示實例正在使用哪個端口的消息。

如果SQL Server使用命名管道,那麼我相信如果您能夠訪問機器上的共享,則您具有足夠的網絡連接。這篇文章說,你可以更進一步,嘗試連接到IPC $共享:

http://msdn.microsoft.com/en-us/library/aa275787%28v=sql.80%29.aspx

net use \\servername\IPC$ 

數據庫服務器

進入到SQL Server >>安全>>登錄,然後右鍵點擊安全設置在「用戶名」上選擇屬性。

Logins

在登錄屬性的新開屏,進入「用戶映射」選項卡。然後,在「用戶映射」選項卡上,選擇所需的數據庫 - 尤其是顯示此錯誤消息的數據庫。在屏幕下方,檢查所需的角色。

User Mapping

+0

無法完成,因爲它提供了權限錯誤。我的數據庫託管公司。 –

+0

你的服務器能夠連接到數據庫嗎? – Nicholas

+0

是的,我可以通過SQL管理工作室連接,但是當我嘗試按照你的方式,在步驟和步驟(點擊確定按鈕)給我「你沒有權限錯誤:15151」 –

1

我剛剛解決了這個問題。問題是「典型的程序員問題」。我需要編寫MyDatabase,但我寫了MyDatabse。自11點以來,我試圖解決這個問題。謝謝你的回覆。

相關問題