Проблема строки подключения - PullRequest
1 голос
/ 28 октября 2011

Строка подключения, сгенерированная структурой сущностей, выглядит следующим образом.

<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

Ответы [ 3 ]

2 голосов
/ 28 октября 2011

Хотя этот сайт не является прямым ответом на ваш вопрос, он полезен практически для любого вопроса, касающегося строки подключения: http://www.connectionstrings.com/.

С риском звучать как рекламный ролик: это ваш универсальный магазин для подключениястроки!

0 голосов
/ 28 октября 2011

В Entity Framework существует дополнительная абстракция 1 . Сгенерированная для вас строка подключения с парой добавленных разрывов строк:

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 Source и Initial Catalog этой внутренней строки подключения.


1 По сути, строка подключения EF сообщает среде выполнения EF, где взять модель (из ресурсов в сборке) для создания модели в памяти, какого поставщика EF использовать и какую строку подключения передать этому провайдеру - и это последняя часть, которую вам нужно настроить при изменении сервера, экземпляра или базы данных.

0 голосов
/ 28 октября 2011

Попробуй так:

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

Надеюсь, это поможет.

...