2013-08-16 26 views
0

我在MVC中編寫網頁,它使用實體框架作爲ORM映射器。我把我的連接字符串放到web.config文件中。下面是它:由EntityFramework和MVC連接字符串到SQL

<add name="JP_CMS" connectionString="Data Source=.;Initial Catalog=JP_CMS; 
User Id=CmsWebUser;Password=abcd1234abcd1234;" 
providerName="System.Data.SqlClient"/> 

我試圖通過此C#代碼

public DataBaseContext() 
     : base("JP_CMS") 
    { 
     Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DataBaseContext>()); 
    } 

//------------------------------ 

    var db = new DataBaseContext(); 
    var result = db.Articles.ToList(); //<- here is thrown exception 
//------------------------------ 

我的本地SQL服務器正在運行得到的數據,該表存在,但我得到excepion像這樣:

enter image description here

我認爲這是最重要的預期:「建立與SQL Server的連接時出現網絡相關或實例特定的錯誤,服務器是未找到或無法訪問。驗證實例名稱是否正確,並將SQL Server配置爲允許遠程連接。 (provider:命名管道提供程序,error:40 - 無法打開到SQL Server的連接)「

你能幫我通過給一些想法是什麼我做了錯誤的

+0

異常圖像是無益的。請提及有效的例外。你從ObjectContext類派生了DataBaseContext類嗎?它看起來並不如此。 – Hunter

+0

你想連接到特定的實例嗎? – haim770

+0

我試圖讓我自己的本地SQL Server – Jacek

回答

1

喜錯誤指示EF試圖連接到服務器,但失敗了。

您可以Checkk,

1)SQL Server應該啓動並運行。

轉至所有程序>> Microsoft SQL Server 2008 >>配置工具>> SQL Server配置管理器>> SQL Server服務,並檢查SQL Server服務狀態是否爲「正在運行」。

此外,請確保您的遠程服務器位於同一網絡中。在命令提示符下運行「sqlcmd -L」,以確定您的服務器是否包含在您的網絡列表中。

2)在SQL Server配置

欲瞭解更多信息啓用TCP/IP,你可以去here

2

?」系統找不到指定的文件「錯誤。請仔細檢查連接字符串。

+0

我認爲taht問題是在我的連接字符串中,但我不知道在哪裏。 EF有問題,當數據庫必須重新創建,我指定登錄名和密碼做訪問數據庫? – Jacek

+0

你可以編寫你的SQL服務器版本嗎? – MikkaRin

+0

SQL 2012 Express – Jacek

1

而不是DataSource =.嘗試。此外DataSource=(local)可能會奏效。

+0

它不起作用... – Jacek