Ключевое слово не поддерживается: «сервер» - PullRequest
25 голосов
/ 11 июля 2011

Я пытался отредактировать строку подключения для загрузки моего веб-сайта на сервер.
Я не очень разбираюсь в этом.Я получил это исключение: ключевое слово не поддерживается: 'server'.
Вот моя строка подключения:

<add name="AlBayanEntities" connectionString="Server=xx.xx.xxx.xxx,xxxx;Database=AlBayan;Uid=bayan;Password=xxxxx;" providerName="System.Data.EntityClient" />

Я попытался встроить эту строку в мою старую строку подключения, которая очень хорошо работает локально,но это не подходит: S

Ответы [ 6 ]

31 голосов
/ 11 июля 2011

Для Entity Framework (сначала база данных или модель; если у вас есть физический файл модели EDMX), вам нужно использовать специальный тип строки подключения, который сильно отличается от прямых строк подключения ADO.NET, о которых упоминали все остальныепока ...

Строка подключения должна выглядеть примерно так:

<add name="testEntities" 
     connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(local);initial catalog=test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" 
     providerName="System.Data.EntityClient" />

Внутри этой строки подключения вы найдете атрибут provider connection string=, который в основном является вашим соединением ADO.NETстрока:

provider connection string=&quot;data source=(local);initial catalog=test;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;" 

Итак, вам нужно изменить имя сервера и, возможно, другие настройки.

  • data source=.... обозначает ваш сервер (вы также можете использовать server=.....)
  • initial catalog=..... обозначает вашу базу данных (вы также можете использовать database=....)
9 голосов
/ 11 сентября 2016

In MVC5 с использованием EntityFramework 6.xx и Код Первый подход

У меня была такая же проблема, и я решил ее, изменив свой providerName

от

 providerName="System.Data.EntityClient"

до

providerName="System.Data.SqlClient"
3 голосов
/ 11 июля 2011

Я всегда запускаю мастер соединений для создания своей строки или использую connectionstrings.com .

Предполагается, что SQL Server:

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

По сравнению с твоим это совсем другое.

Server=xx.xx.xxx.xxx,xxxx;Database=AlBayan;Uid=bayan;Password=xxxxx;
1 голос
/ 31 октября 2016

Это исключение возникает на веб-сайтах Azure, когда вы сохраняете строку подключения в самой службе приложений (на блейде «Настройки приложения»).

Если строка подключения является строкой подключения Entity Framework, кавычки будутбыть закодированным как &quot; по умолчанию в вашем файле web.config.

Вам необходимо изменить их обратно на фактические кавычки, чтобы строка соединения могла быть правильно проанализирована.

1 голос
/ 11 июля 2011

Попробуйте это

<add name="AlBayanEntities" connectionString="Data Source=xx.xx.xxx.xxx,xxxx;Initial Catalog=AlBayan;User Id=bayan;Password=1abcd;" providerName="System.Data.EntityClient" />
0 голосов
/ 20 марта 2017
EntityConnectionStringBuilder bb = new EntityConnectionStringBuilder();
bb.Metadata = "res://*/dao.bdmi.csdl|res://*/dao.bdmi.ssdl|res://*/dao.bdmi.msl";

//same as below client tobe used
bb.Provider = "MySql.Data.MySqlClient";
MySql.Data.MySqlClient.MySqlConnectionStringBuilder mbb = new MySql.Data.MySqlClient.MySqlConnectionStringBuilder();
mbb.Server = "";
mbb.Database = "";
mbb.UserID = "";
mbb.Password = "";
mbb.PersistSecurityInfo = true;


//use providerconnectionstring insted of connectionstring
bb.ProviderConnectionString = mbb.ToString();
return bb.ToString();

Таким образом, вы можете изменить ConnectionString, как хотите.

...