Entity framework формат строки инициализации не соответствует спецификации начиная с индекса 0

Обновлено: 07.07.2024

Приведенные сценарии относятся как к Azure, так и к сторонним поставщикам услуг размещения. Дополнительную информацию об устранении неполадок, связанных с веб-приложениями в службе приложений Azure, см. на следующих ресурсах:

Ошибка сервера в приложении "/" — текущие пользовательские параметры ошибок препятствуют удаленному просмотру сведений об ошибке

Сценарий

Возможная причина и решение

Если файл Web. config приложения содержит элемент customErrors в элементе System. Web, измените значение атрибута mode на OFF. В противном случае добавьте элемент customErrors в элемент System. Web с атрибутом Mode, имеющим значение OFF, как показано в следующем примере:

После устранения ошибки восстановите исходный параметр customErrors и повторно разверните приложение.

Невозможно создать или теневую копию "ContosoUniversity", если этот файл уже существует.

Сценарий

Ошибка сервера в приложении «/». Невозможно создать или теневую копию "ContosoUniversity", если этот файл уже существует.

Возможная причина и решение

Подождите минуту, обновите браузер или перескомпилируйте сайт и попробуйте запустить его снова.

Отказано в доступе на веб-странице, использующей SQL Server Compact

Сценарий

Отказано в доступе". (Исключение из HRESULT: 0x80070005 (E_ACCESSDENIED))

Возможная причина и решение

Учетная запись сетевой службы на сервере должна иметь возможность чтения собственных двоичных файлов службы SQL Compact, которые находятся в папке bin\amd64 или bin\x86 , но не имеют разрешений на чтение этих папок. Установите разрешение чтение для NETWORK SERVICE в папке bin , чтобы расширить разрешения для вложенных папок.

Не удается прочитать файл конфигурации из-за отсутствия необходимых разрешений

Сценарий

Произошла ошибка при чтении файла конфигурации IIS "компьютер/перенаправление". Удостоверение, выполняющее эту операцию. Ошибка: не удается прочитать файл конфигурации из-за отсутствия необходимых разрешений.

Возможная причина и решение

Чтобы использовать публикацию одним щелчком в IIS на локальном компьютере, необходимо запустить Visual Studio с разрешениями администратора. Закройте Visual Studio и перезапустите его с правами администратора.

Не удалось подключиться к конечному компьютеру. Использование указанного процесса

Сценарий

Возможная причина и решение

Прокси-сервер прерывает связь с целевым сервером. На панели управления Windows или в Internet Explorer выберите Свойства обозревателя и перейдите на вкладку подключения . В диалоговом окне Свойства Интернета нажмите кнопку Параметры локальной сети. В диалоговом окне Параметры локальной сети снимите флажок Автоматическое определение параметров . Затем снова нажмите кнопку Опубликовать.

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

Сценарий

Возможная причина и решение

Формат строки инициализации не соответствует спецификации, начиная с индекса 0.

Сценарий

Формат строки инициализации не соответствует спецификации, начиная с индекса 0.

Возможная причина и решение

Откройте файл Web. config на развернутом сайте и проверьте, начинаются ли значения строки подключения с $(ReplaceableToken_ , как показано в следующем примере:

Если строки подключения выглядят как в этом примере, измените файл проекта и добавьте следующее свойство в элемент PropertyGroup, предназначенный для всех конфигураций сборки:

Затем повторно разверните приложение.

Сценарий

Возможная причина и решение

Существует множество причин возникновения ошибок 500, но одна из возможных причин, которые следует выполнить при работе с этими учебниками, заключается в том, что элемент XML помещается в неправильное место в одном из файлов преобразования Web. config. Например, эта ошибка возникает, если вы помещаете преобразование, которое вставляет <расположение> в разделе <System. Web>, а не непосредственно в <>конфигурации. Для проверки правильности работы преобразований можно использовать функцию предварительной версии преобразования Web. config. Решение при обнаружении преобразования, которое было закодировано неправильно, — исправление файла преобразования и повторное развертывание. Если ошибка не очевидна, попробуйте закомментировать преобразования и повторное развертывание, чтобы увидеть, какая из них вызывает ошибку 500.

Сценарий

Возможная причина и решение

Ошибка входа при открытии базы данных SQL Server Express в приложении_

Сценарий

System. Data. SqlClient. SqlException: не удается открыть базу данных "DatabaseName", запрашиваемую именем для входа. Не удалось выполнить вход.

Возможная причина и решение

Имя MDF -файла не может совпадать с именем любой SQL Server Express базы данных, которая когда-либо существовала на компьютере, даже если вы удалили MDF -файл ранее существующей базы данных. Измените имя MDF -файла на имя, которое никогда не использовалось в качестве имени базы данных, и измените файл Web. config , чтобы он использовал новое имя. В качестве альтернативы можно использовать SQL Server Management Studio Express для удаления ранее существующих SQL Server Express баз данных.

Не удается проверить совместимость модели

Сценарий

Невозможно проверить совместимость модели, так как база данных не содержит метаданные модели. Убедитесь, что Инклудеметадатаконвентион был добавлен в соглашения Дбмоделбуилдер.

Возможная причина и решение

Если имя базы данных, помещаемое в файл Web. config, использовалось ранее на компьютере, то база данных может уже существовать в некоторых таблицах. Выберите новое имя, которое не использовалось на компьютере, и измените файл Web. config , чтобы он указывал на новое имя базы данных. В качестве альтернативы можно использовать SQL Server Express служебную программу или SQL Server Management Studio Express для удаления существующей базы данных.

Ошибка SQL при попытке сценария создать пользователей или роли

Сценарий

Если эта ошибка возникает при настройке развертывания базы данных в мастере публикации веб-сайта , а не на вкладке Пакет/Публикация SQL , создайте поток на форуме по настройке и развертыванию , и решение будет добавлено на эту страницу устранения неполадок.

Возможная причина и решение

Учетная запись пользователя, используемая для развертывания, не имеет разрешения на создание пользователей или ролей. Например, компания размещения может назначить базе данных_DataReader, DB_и DB_роли базы данных, которая настраивается для пользователя. Это достаточно для создания большинства объектов базы данных, но не для создания пользователей или ролей. Одним из способов избежать этой ошибки является исключение пользователей и ролей из развертывания базы данных. Это можно сделать, изменив исходный элемент для автоматически созданного скрипта базы данных, чтобы он включал следующие атрибуты:

Сведения о том, как изменить исходный элемент в файле проекта, см. в разделе инструкции. изменение параметров развертывания в файле проекта. Если пользователи или роли в базе данных разработки должны находиться в целевой базе данных, обратитесь за помощью к поставщику услуг размещения.

Ошибка времени ожидания SQL Server при выполнении пользовательских скриптов во время развертывания

Сценарий

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

Возможная причина и решение

Выполнение нескольких скриптов с разными режимами транзакций может привести к ошибкам времени ожидания. По умолчанию автоматически созданные скрипты выполняются в транзакции, но пользовательские скрипты — нет. Если выбрать параметр извлечь данные и (или) схему из существующей базы данных на вкладке Пакет/Публикация SQL , а при добавлении пользовательского скрипта SQL необходимо изменить параметры транзакций для некоторых скриптов так, чтобы все скрипты использовали одни и те же параметры транзакций. Дополнительные сведения см. в разделе руководство. Развертывание базы данных с помощью проекта веб-приложения.

Если вы настроили параметры транзакций так, чтобы все они были одинаковыми, но по-прежнему получили эту ошибку, возможный обходной путь заключается в запуске сценариев отдельно. В сетке скрипты базы данных на вкладке Пакет/Публикация SQL снимите флажок включить для сценария, который вызывает ошибку времени ожидания, а затем опубликуйте проект. Затем вернитесь в сетку скрипты базы данных , установите флажок включить этот сценарий и снимите флажки включить для других скриптов. Затем опубликуйте проект еще раз. На этот раз при публикации будет запущен только выбранный пользовательский скрипт.

Потоковая передача данных манифеста сайта пока недоступна

Сценарий

Ошибка: данные потока "ситеманифест/Дбфуллскл [@path=" К:\темп\адвентуреворксгрант.скл "]/Склскрипт" пока недоступны.

Возможная причина и решение

Для этого приложения требуется Манажедрунтимеверсион версии 4.0

Сценарий

Для пула приложений, который вы пытаетесь использовать, свойство "Манажедрунтимеверсион" имеет значение "v 2.0". Для этого приложения требуется "v 4.0".

Возможная причина и решение

Не удалось привести Microsoft. Web. Deployment. Деплойментпровидероптионс

Сценарий

Не удалось привести объект типа "Microsoft. Web. Deployment. Деплойментпровидероптионс" к "Microsoft. Web. Deployment. Деплойментпровидероптионс".

Возможная причина и решение

Выполняется попытка развертывания из диспетчера IIS с помощью пользовательского интерфейса веб-развертывание 1,1 на сервере с установленными веб-развертывание 2,0. Если вы используете средство удаленного администрирования IIS для развертывания с помощью импорта пакета, проверьте диалоговое окно новые функции, доступное при установке соединения. (Это диалоговое окно может отображаться только один раз при первом установлении соединения. Чтобы очистить подключение и начать заново, закройте Диспетчер IIS и запустите его снова, введя в командной строке INETMGR/Reset.) Если одна из перечисленных компонентов является веб-развертывание пользовательском интерфейсеи имеет номер версии ниже 8, то на сервере, на котором выполняется развертывание, могут быть установлены как 1,1, так и 2,0 версии веб-развертывание. Для развертывания с клиента, на котором установлено 2,0, на сервере должен быть установлен только веб-развертывание 2,0. Чтобы устранить эту проблему, необходимо обратиться к поставщику услуг размещения.

Не удалось загрузить собственные компоненты SQL Server Compact

Сценарий

Возможная причина и решение

Развернутый сайт не содержит подпапки AMD64 и x86 с собственными сборками в папке bin приложения. На компьютере, на котором установлена SQL Server Compact, сборки в машинном код находятся в папке C:\Program Files\Microsoft SQL Server Compact Edition\v4.0\Private. Лучшим способом получения правильных файлов в правильных папках в проекте Visual Studio является установка пакета NuGet Склсерверкомпакт. При установке пакета добавляется скрипт, выполняемый после сборки, для копирования машинных сборок в AMD64 и x86. Однако для их развертывания необходимо вручную включить их в проект. Дополнительные сведения см. в руководстве по развертыванию SQL Server Compact .

Ошибка "путь недопустим" после развертывания приложения Entity Framework Code First

Сценарий

Недопустимый путь. Проверьте каталог для базы данных. [Path = К:\инетпуб\ввврут\апп_Дата\датабасенаме.СДФ]

Возможная причина и решение

Code First пытается создать базу данных, но папка данных приложения_не существует. При развертывании отсутствуют файлы в папке " приложение_данных " или выбран параметр " Исключить приложение_данные " на вкладке " Пакет/Публикация веб-сайта " проекта окно свойств. Процесс развертывания не создает папку на сервере, если в папке нет файлов для копирования на сервер. Если база данных уже настроена на сайте, процесс развертывания удалит файлы и папку данных приложения_ , если в профиле публикации было выбрано Удаление дополнительных файлов в месте назначения . Чтобы решить эту проблему, добавьте файл заполнителя, например TXT-файл, в папку " приложение_данные ", убедитесь, что не выбраны исключаемые данные_ и повторно разверните развертывание.

"COM-объект, который был отделен от его базовой RCW, использовать нельзя".

Сценарий

Вы успешно используете публикацию одним щелчком для развертывания приложения, после чего вы начинаете получать эту ошибку:

Возможная причина и решение

Для устранения этой ошибки обычно требуется закрыть и перезапустить Visual Studio.

Развертывание завершается сбоем, так как учетные данные пользователя, используемые для публикации, не имеют центра Сетакл

Сценарий

Публикация завершается сбоем с ошибкой, указывающей, что у вас нет полномочий на задание разрешений для папок (у используемой учетной записи пользователя нет центра Сетакл).

Возможная причина и решение

По умолчанию Visual Studio устанавливает разрешения на чтение корневой папки сайта и разрешения на запись в папке приложения_данных. Если известно, что разрешения по умолчанию для папок сайта являются правильными и их не нужно задавать, отключите это поведение, добавив <назначение инклудесетаклпровидерон>False</инклудесетаклпровидерондестинатион> в файл профиля публикации (для влияния на один профиль) или в файл WPP. targets (чтобы задействовать все профили). Дополнительные сведения об изменении этих файлов см. в разделе как изменить параметры развертывания в файлах профиля (. pubxml).

Ошибки отказа в доступе при попытке приложения выполнить запись в папку приложения

Сценарий

В приложении возникают ошибки при попытке создать или изменить файл в одной из папок приложения, так как у него нет центра записи для этой папки.

Возможная причина и решение

По умолчанию Visual Studio устанавливает разрешения на чтение корневой папки сайта и разрешения на запись в папке приложения_данных. Если приложению требуется доступ на запись к вложенной папке, можно задать разрешения для этой папки, как показано в учебниках Настройка разрешений для папок и развертывание в рабочей среде в этой серии. Если приложению требуется доступ на запись к корневой папке сайта, необходимо запретить ему устанавливать доступ только для чтения к корневой папке, добавив <Инклудесетаклпровидерон Destination>False</инклудесетаклпровидерондестинатион> в файл профиля публикации (для влияния на один профиль) или в файл WPP. targets (для влияния на все профили). Дополнительные сведения об изменении этих файлов см. в разделе как изменить параметры развертывания в файлах профиля (. pubxml).

Сценарий

В поле Источник ошибки страницы ошибки в качестве причины ошибки выделяется следующая строка из файла Web. config:

<компиляции targetFramework = "4.5"/>

Возможная причина и решение

Ошибки среднего уровня доверия

Сценарий

При запуске приложения в рабочей среде он получает ошибку, связанную со средним уровнем доверия.

Возможная причина и решение

Многие сторонние поставщики услуг размещения запускают веб-сайт со средним уровнем доверия, что означает, что это не разрешено. Например, код приложения не может получить доступ к реестру Windows и не может читать или записывать файлы, находящиеся за пределами иерархии папок приложения. По умолчанию приложение выполняется в режиме полного доверия на локальном компьютере, что означает, что приложение может выполнять те действия, которые могут завершиться ошибкой при развертывании в рабочей среде.

Чтобы устранить неполадки, можно настроить приложение для выполнения в среднем уровне доверия в локальной среде IIS. Для этого откройте файл Web. config приложения и добавьте элемент Trust в элемент System. Web , как показано в этом примере.

Теперь приложение будет работать в службах IIS со средним уровнем доверия даже на локальном компьютере.

Не следует делать этого, если развертывание выполняется в службе приложений Azure, так как Azure не требует среднего уровня доверия. На момент написания этого руководства в феврале 2012 с помощью этого метода, чтобы приложение выполнялось в среднем доверии, приведет к ошибке в Azure.

Если вы используете Entity Framework Code First Migrations и развертываете поставщик услуг размещения, который запускает приложение со средним уровнем доверия, убедитесь, что установлена версия 5,0 или более поздняя. В Entity Framework версии 4,3 для обновления схемы базы данных миграции требуется полное доверие.

Сценарий

Запрошенное содержимое выглядит как скрипт и не будет обрабатываться обработчиком статических файлов.

Я загрузил свой сайт на общий хост godaddy. Я!--3-->доступ эта база данных из моей студии управления. Я!--3-->не могу получить доступ к база данных с моего сайта. Я получаю следующую ошибку:

формат строки инициализации не соответствует спецификации, начинающейся с индекса 0.

моя строка подключения в web.config и выглядит это так:

что вызывает эту ошибку? У меня тоже пытался написать . Data Source=(local);.

Это может помочь, чтобы увидеть, что строка подключения. Добавить в мировой.асакс:

если фактическая строка соединения $(ReplacableToken_mcn-Web.config Connection String_0) , это объясняет проблему.

Я столкнулся с той же проблемой и обнаружил, что моя строка соединения имеет дополнительный символ двойной кавычки в середине строки соединения.

добавить ссылку на System.Конфигурация и обновление моего кода, как показано ниже, было моим решением. Строка подключения не была проблемой, так как другие элементы управления использовали ее без каких-либо проблем (SqlDataSource)

у меня было это в VS2015, и мое исправление состояло в том, чтобы изменить первую строку в моем WebConfig из

After using the three dot button, the connection string will be displayed on the text field to the left

поэтому я создал его с помощью кнопки три точки, и после публикации он работал.

Что странно, так это то, что в течение длительного времени я уверен, что в этой конфигурации не было строки подключения, но это все еще работать.

еще одна ловушка-это connectionString иногда ссылается на имя строки подключения в app / web-config, а иногда на саму строку подключения и наоборот.

в моем случае виновником была точка с запятой и двойные кавычки в пароле для prod DB. Наша ИТ-команда использует какой-то инструмент для генерации паролей, поэтому он сгенерировал один с точкой с запятой и двойными кавычками Connectionstring выглядит как

получил пароль изменен и это сработало.

моей проблемой было то, что моя сеть.файл конфигурации содержит ссылку на удаленное соединение модели сущности, поэтому проверьте, нет ли устаревших строк подключения.

Я получил ниже ошибки при попытке запуска приложения :

формат строки инициализации не соответствует спецификации, начиная с индекса 57.

Я получал это исключение, исправил его, добавив throwIfV1Schema: false моему конструктору DbContext:

я столкнулся с этой же проблемой в Web API 2 после запуска этого в консоли PM:

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

интересная вещь не только делает эту ссылку такой же точной строка подключения, но конструктор включает код, который 4castle сказал, что это потенциальное исправление (т. е. throwIfV1Schema: false предложение.

нежелательная одиночная цитата была моей проблемой. Проверка строки подключения из расположения индекса, упомянутого в строке ошибки, помогла мне определить проблему.

Если вы используете EF и публикуете профили, у вас может быть пустая запись строки подключения в вашем профиле публикации. Раздражает, но вполне возможно.

Когда я запускаю это приложение онлайн, оно показывает следующую ошибку:

Формат строки инициализации не соответствует спецификации, начиная с индекса 0

Ответ, получивший наибольшее количество голосов на stackoverflow.com/questions/9040266/… кажется более точным, чем ответ, получивший наибольшее количество голосов здесь: хотя строка подключения, которую вы используете в разработке, может работать, при публикации необходимо предоставить другую строку подключения, подходящую для производства, и это может потерпеть неудачу. Например, человек, задавший этот вопрос, обнаружил, что соединение было "$ (ReplacableToken_mcn-Web.config Connection String_0)", что указывает на то, что замена, которая должна была произойти как часть публикации, не произошла.

Проверьте строку подключения. Если вам нужна помощь, проверьте строки подключения , в которых есть список наиболее часто используемых.

Обычно используемые строки подключения:

Стандартная безопасность

Надежное соединение

Подключение к экземпляру SQL Server

Синтаксис имени сервера / экземпляра, используемый в параметре сервера, одинаков для всех строк подключения к SQL Server.

Стандартная безопасность

Надежное соединение

Подключение к экземпляру SQL Server

Синтаксис имени сервера / экземпляра, используемый в параметре сервера, одинаков для всех строк подключения к SQL Server.

Стандарт

Указание порта TCP

Использование TNS

Использование встроенной безопасности

Моя проблема не связана с неправильным ConnectionString. Я могу подключиться со своей машины разработчика к производственной базе данных и использовать ее. Когда я развертываю те же настройки, я получаю эту ошибку. Вы знаете, что может пойти не так? Спасибо С Денисом могло быть много чего. Во-первых, находится ли ваш сервер и ваша машина разработчика в одной сети? Какой логин вы используете? Вы используете какой-либо прокси, находитесь ли вы за брандмауэром на prod-сервере? Попадаются в какой-нибудь VPN? Не работает, я попытался поставить правильную строку подключения.

Это может кому-то помочь . Мой пароль содержал точку с запятой, поэтому столкнулся с этой проблемой. Поэтому добавил пароль в кавычки. Это была действительно глупая ошибка.

Я изменил следующее:

Да, это была моя проблема с моим паролем; поэтому добавление '' решило это

Установите проект, содержащий ваш DbContext класс, как запускаемый проект.

Я получал эту ошибку при звонке enable-migrations . Даже если Package Manager Console я выбрал правильный вариант Default project , он все равно просматривал файл web.config этого запускаемого проекта, в котором не было строки подключения.

+1. Я думаю, что начальным проектом должен быть проект, содержащий строку подключения. Это была моя проблема. Спасибо за предложение стартап-проекта.

Убедитесь, что ваша строка подключения имеет следующий формат:

server = FOOSERVER; database = BLAH_DB; pooling = false; Время ожидания подключения = 60; Встроенная безопасность = SSPI;

Если в вашей строке отсутствует server тег, метод вернется с этой ошибкой.

оказывается, проблема заключалась в установке строки подключения в ctor, например:

НЕ работает, это будет:

Это такое странное решение, но оно тоже спасло мне жизнь. Для записи, «db» - это имя ключа строки подключения в файле конфигурации (у меня не было «db») Исправил это и для меня. У меня была допустимая строка подключения, но установка ее вручную вызвала ошибку «Формат строки инициализации не соответствует спецификации, начиная с индекса 0».

Проверьте строку подключения, как будто я забыл добавить services.AddDbContext<dbsContext>(options => options.UseSqlServer("Default"));

Это вызывает ошибку, и здесь, когда я добавляю Configuration.GetConnectionString , она решает проблему

как сейчас соединение:

Ссылка на полный путь sp решила для меня эту проблему:

У меня была такая же ошибка. В моем случае это произошло потому, что в строке подключения отсутствовала закрывающая кавычка для пароля.

Изменилось с этого

Напишите пример кода или что-нибудь еще, чтобы ваш ответ был идеальным. Одна строчка не объясняет всего

Это также происходит, когда вы копируете веб-страницу из одного решения в другое, затем вы запускаете свое решение и обнаруживаете, что у него другое имя строки подключения в webconfig. Затем вы небрежно меняете имя строки подключения на панели свойств в режиме просмотра страницы.

Лучше просто изменить это в коде, а не в дизайне.

Моя проблема заключалась в том, что я добавил код ведения журнала базы данных в свой конструктор для объекта БД, и это, похоже, вызвало хаос в моем профиле развертывания Azure.

К вашему сведению - я упростил этот пример, в реальном коде это было отключено в производстве (но все еще в коде)

У меня была опечатка в строке подключения "База данных == PESitecore1_master"

У меня была такая же проблема, и, наконец, мне удалось решить ее следующим образом:

Проблема заключалась в определении строки подключения в моем файле web.config.

Вышеупомянутое отлично работало локально, потому что я использовал локальную базу данных, когда управлял пользователями и ролями. Когда я перенес свое приложение в IIS, локальная БД была больше недоступна, вдобавок я хотел бы использовать свою БД в SQL Server. Поэтому я меняю указанную выше строку подключения на следующий эквивалент базы данных SQL Server:

ПРИМЕЧАНИЕ. Вышесказанное также предполагает, что вы собираетесь использовать тот же SQL Server из своего локального ящика (в случае, если вы включите его в свой локальный файл web.config - это именно то, что я сделал в моем случае).

У меня была такая же проблема, я обнаружил, что развертывание в IIS неправильно установило строки подключения. они были «$ (ReplacableToken_devConnection-Web.config Connection String_0)» при просмотре строк подключения сайта в IIS вместо фактической строки подключения. Я их там обновил, и все заработало как положено

Я скопировал и вставил конфигурацию строки подключения в свой тестовый проект и столкнулся с этой ошибкой. Строка подключения отлично работала в моем проекте WebAPI. Вот мое исправление.

Я удалил & quot в конце строки подключения, и это сработало

Установите DefaultConnection, как показано ниже

Примечание. В connectionString не включайте:
| x | Информация о метаданных: "metadata = res: // * /"
| x | Закодированные цитаты: "" "

В моем случае возникла аналогичная ошибка:

Приложение создало необработанное исключение. System.ArgumentException: формат строки инициализации не соответствует спецификации, начиная с индекса 91.

Я меняю строку подключения с:

Сервер = .; База данных = dbname; Идентификатор пользователя = myuserid; Пароль = mypassword "

Сервер = .; База данных = dbname; Идентификатор пользователя = myuserid; Пароль = 'mypassword' "

и он работает, я добавил к паролю одинарные кавычки.

Моя проблема заключалась не в том, что строка подключения, которую я предоставлял, была неправильной или что строка подключения в app.config, которую я думал, что я использовал, была неправильной, а что я использовал неправильный app.config.

введите описание изображения здесь

Иногда служба Sql Server не запускается. Это может вызвать ошибку. Перейдите в Сервисы и запустите Sql Server. Это должно заставить его работать.

Когда я запускаю это приложение онлайн, он показывает следующую ошибку

Формат строки инициализации не соответствует спецификации начиная с индекса 0

Проверьте строку подключения. Если вам нужна помощь, проверьте Строки подключения, в котором есть список наиболее часто используемых.

Обычно используемые строки подключения:

Стандартная безопасность

Надежное соединение

Подключение к экземпляру SQL Server

Синтаксис имени сервера/экземпляра, используемый в параметре сервера, одинаковый для всех строк подключения SQL Server.

Стандартная безопасность

Надежное соединение

Подключение к экземпляру SQL Server

Синтаксис имени сервера/экземпляра, используемый в параметре сервера, одинаковый для всех строк подключения SQL Server.

Стандартный

Указание порта TCP

Использование TNS

Использование встроенной безопасности

Моя проблема не связана с неправильной ConnectionString. Я могу подключиться с моей машины разработчика к производственной базе данных и использовать ее. При развертывании тех же настроек я получаю эту ошибку. У вас есть идея, что может пойти не так? Спасибо Там может быть много вещей, происходящих на Дениса. Во-первых, находится ли ваш сервер и ваш компьютер в одной сети? Какой логин вы используете? Используете ли вы какой-либо прокси, вы находитесь за брандмауэром на сервере Prod? Проникаете в любой VPN? Это не работает, я попытался поставить правильную строку подключения.

Задайте проект, содержащий класс DbContext в качестве запуска.

Я получал эту ошибку при вызове enable-migrations . Даже если в Package Manager Console я выбрал правильный Default project , он все еще смотрел файл web.config этого проекта запуска, где строка подключения отсутствовала.

+1. Я думаю, что стартовый проект должен быть проектом, который содержит строку подключения. Это была моя проблема. Спасибо за ваше предложение о запуске проекта.

Ссылка на полный путь sp разрешает эту проблему для меня:

Убедитесь, что строка соединения находится в этом формате:

сервер= FOOSERVER; database = BLAH_DB; pooling = false; Time Time = 60; Integrated Security = SSPI;

Если в вашей строке отсутствует тег server , тогда метод вернется с этой ошибкой.

Это может помочь кому-то. Мой пароль содержал точку с запятой, поэтому она столкнулась с этой проблемой. Так же добавлен пароль в кавычки. Это была глупая ошибка.

Я изменил следующее:

выясняется, что проблема заключалась в установке строки соединения в ctor, например:

НЕ работает, это будет:

У меня была опечатка в строках подключения "База данных == PESitecore1_master"

Моя проблема заключалась в том, что я добавил код ведения журнала базы данных в свой конструктор для объекта БД, и это, казалось, вызвало хаос в моем профиле развертывания azure.

FYI - я упростил этот пример, в реальном коде это было отключено в процессе производства (но все еще в коде)

У меня была такая же проблема, и, наконец, мне удалось решить ее следующим образом:

Проблема была в определении строки подключения в моем web.config.

Это работало отлично, потому что я использовал локальную базу данных, когда я управлял пользователями и ролями. Когда я передал свое приложение в IIS, локальная БД была недоступна, кроме того, я хотел бы использовать свою БД в SQL Server. Поэтому я изменяю приведенную выше строку подключения следующим эквивалентом SQL Server DB:

ПРИМЕЧАНИЕ. Вышеупомянутое также предполагает, что вы собираетесь использовать один и тот же SQL-сервер из своего локального поля (в случае, если вы включите его в свой локальный web.config - именно это я и сделал в моем случае).

Это также происходит при копировании веб-страницы из одного решения в другое, затем вы запускаете свое решение и узнаете, что оно имеет другое имя строки подключения в webconfig. Затем вы небрежно меняете имя строки подключения на панели свойств в окне дизайна страницы.

Лучше просто изменить его в части кода вместо дизайна.

У меня была такая же ошибка. В моем случае это было связано с тем, что в строке соединения отсутствовала заключительная цитата для пароля.

Читайте также: