Странная ошибка при использовании SqlConnection и AttachDbFilename - PullRequest
0 голосов
/ 06 июля 2018

Я сталкиваюсь со странной ошибкой при попытке подключиться к подключенной БД в моем веб-приложении.

Моя строка подключения:

<add name="ExtJSTestDB" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\KODatatableContext.mdf;User Instance=True;Integrated Security=True;" providerName="System.Data.SqlClient" />

Код в контроллере:

using (var cn = new SqlConnection("ExtJSTestDB")){...}

Прямо в момент вызова "new SqlConnection" я получаю это:

Исключение:

'System.ArgumentException' в System.Data.dll Дополнительная информация: Das Format der Initialisierungszeichenfolge stimmt nicht mit der der Spezifikation überein, die bei Index '0' beginnt.

Что я делаю не так?

1 Ответ

0 голосов
/ 08 июля 2018

Если ваша connectionString в Web.config элементе xml connectionStrings`

  <connectionStrings>
    <add name="ExtJSTestDB" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\KODatatableContext.mdf;User Instance=True;Integrated Security=True;" providerName="System.Data.SqlClient" />
  </connectionStrings>

Вы не можете использовать name="ExtJSTestDB" для установки строки подключения. Вам нужно использовать System.Configuration.ConfigurationManager.ConnectionStrings Concollection для чтения данных ConnectionString.

string connStr= System.Configuration.ConfigurationManager.ConnectionStrings["ExtJSTestDB"];
using (var cn = new SqlConnection(connStr)){...}
...