Я пытался изменить строку подключения для загрузки моего веб-сайта на сервер.
Я не очень разбираюсь в этом. У меня исключение: ключевое слово не поддерживается: «сервер».
Вот моя строка подключения:
<add name="AlBayanEntities" connectionString="Server=xx.xx.xxx.xxx,xxxx;Database=AlBayan;Uid=bayan;Password=xxxxx;" providerName="System.Data.EntityClient" />
Я пробовал встроить эту строку в свою старую строку подключения, которая очень хорошо работает локально, но не подходит: S
В моем случае я нашел, что мой проект имел установленный пакет самородка EFSQLLite, который кажется, не распознает Server=
ключевое слово. Я удалил тот самородок и установил полный EFSQLSERVER один, и он хорошо работал
То же произошло со мной при использовании Наездника IDE для ядра .NET 2,2 проекта. Поскольку Наездник автоматически создает Sqlite в Startup.cs в методе "ConfigureServices".
Путем изменения
services.AddDbContext<ApplicationDbContext>(options =>
options.**UseSqlite**(
Configuration.GetConnectionString("DefaultConnection")));
в
services.AddDbContext<ApplicationDbContext>(options =>
options.**UseSqlServer**(
Configuration.GetConnectionString("DefaultConnection")));
вопрос был решен. Конечно, сначала необходимо установить пакеты самородка для EF SQLServer и добавить строку подключения к appsettings.json.
Я всегда запускаю мастер соединений для создания своей строки или использую 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;
Это исключение возникает на веб-сайтах Azure, когда вы сохраняете строку подключения в самой службе приложений (в колонке «Настройки приложения»).
Если строка подключения является строкой подключения Entity Framework, кавычки будут кодироваться как "
по умолчанию в вашем файле web.config.
Вам необходимо изменить их обратно на фактические кавычки, чтобы строка соединения могла быть правильно проанализирована.
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
, как вы хотите.