Как изменить учетную запись mvc 4 для использования MSSQL вместо sqlexpress для пользователей - PullRequest
0 голосов
/ 31 октября 2011

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

<!--<add name="DefaultConnection" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\aspnet.mdf;Integrated Security=True;User Instance=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />-->

Теперь у меня есть эта строка подключения (Удалены части URL)

<add name="madsskipper_dk_dbEntities" connectionString="metadata=res://*/Areas.Units.UnitsModel.csdl|res://*/Areas.Units.UnitsModel.ssdl|res://*/Areas.Units.UnitsModel.msl;provider=System.Data.SqlClient;

То, что я тогда хочу, это сделать встроенную сборку, это использовать мою собственную базу данных для этого (так что она также работает развернутой), но просто изменение connectionStringName = "madsskipper_dk_dbEntities" не помогает, я просто получаю

Argument Exception {"Невозможно найти запрошенный поставщик данных .Net Framework. Возможно, он не установлен."}

    <profile defaultProvider="DefaultProfileProvider">
  <providers>
    <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="madsskipper_dk_dbEntities" applicationName="/"/>
  </providers>
</profile>
<membership defaultProvider="DefaultMembershipProvider">
  <providers>
    <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="madsskipper_dk_dbEntities" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
  </providers>
</membership>
<roleManager defaultProvider="DefaultRoleProvider">
  <providers>
    <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="madsskipper_dk_dbEntities" applicationName="/"/>
  </providers>
</roleManager>
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
  <providers>
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="madsskipper_dk_dbEntities" applicationName="/"/>
  </providers>
</sessionState>

Редактировать: я думаю, что мне нужно добавить что-то вроде этого (только с SQL 2008 вместо SQL Lite)

<system.data>
    <DbProviderFactories>
        <remove invariant="System.Data.SQLite"/>
        <add name="SQLite Data Provider" invariant="System.Data.SQLite" description=".Net Framework Data Provider for SQLite" type="System.Data.SQLite.SQLiteFactory, System.Data.SQLite"/>
    </DbProviderFactories>
</system.data>

1 Ответ

0 голосов
/ 31 октября 2011
  1. Создать где-нибудь текстовый файл с расширением .udl (например, 1.udl)
  2. в проводнике дважды щелкните по нему.
  3. Заполните все обязательные поля на всех вкладках, начиная с провайдера (убедитесь и найдите SQL-сервер)
  4. Проверьте соединение и закройте его, нажав «ОК».
  5. Откройте 1.udl с помощью блокнота и скопируйте строку результата в файл конфигурации
...