2013-11-26 26 views
0

我收到了一個由其他人創建的網站,現在我正在嘗試對其進行測試。我可以編譯系統沒有任何問題,但是當我嘗試登錄該網站,我得到的錯誤:'System.Data.EntityException'的第一次機會異常。底層提供商未能打開

"EntityException occured. A first chance exception of type 'System.Data.EntityException' occured in System.Data.Entity.dll. Additional info: The underlying provider failed on Open."

而且,如果我越挖越深,我看到的Cannot open database \"MyDB\" requested by the login. The login failed. Login failed for user 'name\\owner'.

包含一個InnerException我在網上讀過類似的問題,這似乎是它與數據庫連接有關的問題?我已經嘗試了多個'解決方案',其中包括使用connectionString搞亂但沒有任何作用。

我認爲系統想要做的是連接到位於單獨項目的App_Data中的.mdf。無論如何,這裏是我最初收到的connectionString代碼:

add name="NameServiceContext" 
connectionString="Server=tcp:qiu5vg5yhv.database.windows.net,1433;Database=MyDB;User ID=MYID;Password=MYPASS;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;" 
providerName="System.Data.SqlClient" 

快速問題,什麼是tcp:......東西?我假設它是以某種方式生成的,但是如何?

我試圖「修復」的問題,並結束了這樣的事情:

add name="NameServiceContext" 
connectionString="data source=./SQLEXPRESS;AttachDbFilename=C:\Users\owner\Documents\MyERP\App_Data\MyDB.mdf;Integrated Security=True;Connect Timeout=30;" 
providerName="System.Data.SqlClient" 

兩種方法都給予同樣的錯誤,我的想法。我將如何去解決這個問題?另外,當我通過工具連接到數據庫>連接到數據庫> MS SQL db文件時,我可以在2個數據源./SQLEXPRESS(LocalDB)\v11.0之間選擇一個選項。我必須包括他們兩個嗎?如果是這樣,怎麼樣?

回答

0

原始連接字符串指的是Microsoft Azure實例。一個典型的連接字符串Azure的樣子:

Server=tcp:[serverName].database.windows.net;Database=myDataBase;User ID=[LoginForDb]@[serverName];Password=myPassword;Trusted_Connection=False;Encrypt=True; 

您的服務器名稱爲qiu5vg5yhv.database.windows.net。很可能您的憑據不正確。

0

正如Andrew所說,你似乎無法訪問實際的數據庫。只需下載「SQL Server Management Studio」或「SQL Server Management Studio Express」(取決於您使用的數據庫版本)並嘗試連接。

如果連接成功,請檢查是否可以查詢項目的數據庫。 如果連接失敗,請聯繫您的系統管理員以安排訪問。

如果您想了解更多有關的ConnectionString或創建一個,使用以下網站模板:http://www.connectionstrings.com/sql-server/

您可以通過「SQL Server Management Studio中」查看您的數據庫的性能得到了必要的數據庫的詳細信息(右鍵單擊並選擇屬性 - >查看連接屬性)

-1

我遇到了同樣的問題。關鍵的一步就在這裏。 我使用vs 2013更新4. 當您在azure中配置SQL時,它會生成一個連接字符串。

enter image description here

相關問題