2011-10-28 222 views
1

實體框架生成的連接字符串如下所示。連接字符串問題

<add name="ETestEntities" connectionString="metadata=res://*/Models.TestModel.csdl|res://*/Models.TestModel.ssdl|res://*/Models.TestModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;Data Source=bogus\sqlexpress;Initial Catalog=ETest;Integrated Security=True;MultipleActiveResultSets=True&quot;" providerName="System.Data.EntityClient" /> 

我的FTP部署的應用程序,創建數據庫(我把它命名爲Etest法),並創建了一個用戶。 我得到的指令是:

In order to connect to SQL Server 2008 from Management Studio, Enterprise Manager, Query Analyzer or other client software you can use the following SQL Server address: 
1.2.3.4 

You may also use SQL Server address above in your application connection strings, for example: 
Classic ASP (ADO Library) Provider=SQLOLEDB;Data source=1.2.3.4;Initial catalog=databaseName;User Id=userName;Password=password; 
ASP.NET (ADO.NET Library) Server=1.2.3.4;Database=databaseName;Uid=userName;Password=password; 

我試圖從www.connectionstrings.com

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword; 

Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False; 

下面怎麼做,我必須修改連接字符串,使其工作?

好像這個工作:

Connection string: Data Source=dataSource;Network Library=dbmssocn;Connection Timeout=15;Packet Size=4096;Integrated Security=no;User ID=user;Password=pass;Encrypt=no; 
Connection timeout: 15 
Database: ETest 
Datasource: dataSource 
Network packet size: 4096 
Server version: 10.00.4311 
Work station id: WIN-HS1ITVC2D4K 
+1

嘗試運行時是否出現錯誤? –

回答

0

隨着實體框架,有一個額外的抽象繼續。爲您生成,與一對夫婦加線的連接字符串分解:

metadata=res://*/Models.TestModel.csdl|res://*/Models.TestModel.ssdl|res://*/Models.TestModel.msl; 
provider=System.Data.SqlClient; 
provider connection string=&quot;Data Source=bogus\sqlexpress;Initial Catalog=ETest;Integrated Security=True;MultipleActiveResultSets=True&quot; 

可以看出,包含provider connection string屬性,此屬性的值是「正常」的連接字符串(撤消XML轉義):

"Data Source=bogus\sqlexpress;Initial Catalog=ETest;Integrated Security=True;MultipleActiveResultSets=True"; 

您需要更換Data SourceInitial Catalog屬性的值這個內部連接字符串。


本質上,EF連接字符串告訴EF運行時從哪裏得到的模型(從資源的結合體)創建的內存模型,使用什麼EF提供商,什麼連接字符串傳遞給該提供者 - 而當服務器,實例或數據庫發生更改時,這是您需要調整的最後一部分。

0

試試這樣說:

Provider=SQLNCLI10;SERVER=myServerAddress;DataTypeCompatibility=80;Database=myDataBase;User Id=myUsername;Password=myPassword 

希望這有助於。

2

雖然不是您的問題的直接答案,但本網站對於幾乎任何連接字符串問題都很有用:http://www.connectionstrings.com/

風險聽起來像商業廣告:這是您的連接字符串的一站式服務!

+0

*將頻道更改爲足球 – Yatrix

+0

我訪問了那個,我測試了其中的前兩個。 – gigi