ASP.NET Sql Провайдер - PullRequest
       14

ASP.NET Sql Провайдер

2 голосов
/ 03 июня 2010

У меня проблема. Когда я создаю новый проект в ASP.NET с использованием VS 2010, это web.config со строкой подключения по умолчанию о SQL Express. Но я даже не установил SQL Express. Что я должен сделать, чтобы изменить AspNetSqlProvider по умолчанию для работы с моим экземпляром полноценного SQL Server в качестве базы данных служб? И как я могу изменить шаблон для проекта ASP.NET, чтобы создать проект с моим подключением?

Ответы [ 2 ]

5 голосов
/ 03 июня 2010

Вы имеете в виду это:
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />

Чтобы изменить это на тот, который будет работать с SQL Server, он должен выглядеть примерно так:
<add name="ApplicationServices" connectionString="data source=ServerName;Initial Catalog=DatabaseName" providerName="System.Data.SqlClient" />
где DatabaseName - , вероятно, aspnetdb. Для этого потребуется некоторая форма аутентификации, независимо от того, используете ли вы аутентификацию Windows (в этом случае вы можете скопировать элемент Integrated Security из исходной строки подключения) или аутентификацию SQL Server (где у вас будет комбинация имени пользователя / пароля). 1011 * На сайте connectionstrings.com есть отличная информация о создании строк подключения.

Чтобы исправить это для ваших будущих проектов, вам нужно изменить шаблон для веб-проектов. Найдите папку, в которой хранятся ваши веб-шаблоны C # (для меня это C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplates\CSharp\Web\1033.
Возьмите копию файла WebApplicationProject40.zip (вы также можете создать резервную копию оригинала где-нибудь!). Внутри вы найдете файл web.config со строкой соединения SQL Express. Измените его на строку SQL Server, а затем снова соберите zip-файл.
Последний шаг - перестроить кэш шаблона VS. В командной строке (вероятно, лучше всего работает VS Command Prompt), запустите devenv /installvstemplates. Подробнее см. здесь .

0 голосов
/ 06 августа 2010

У меня просто была похожая проблема. У меня был веб-сайт, созданный в VS 2008, и я хотел попробовать веб-части. Добавил некоторые на страницу, затем начал получать:

Ошибка автоматического создания файла базы данных SQLExpress:

Строка подключения указывает локальный экземпляр Sql Server Express с использованием базы данных> в каталоге приложения App_Data.

Я запустил aspnet_regsql.exe (мастер, в папке .Net framework), чтобы создать базу данных, а затем добавил строку подключения в web.config:

<configuration>
    <connectionStrings>
        <add name="aspnet_membership" connectionString="Data Source=localhost; Initial Catalog=aspnetdb; Integrated Security=SSPI;"/>
    </connectionStrings>
</configuration>

Затем я добавил это в web.config:

<configuration>
  <system.web>
    <webParts>
      <personalization defaultProvider="SqlPersonalizationProvider">
        <providers>
          <add name="SqlPersonalizationProvider"
          type="System.Web.UI.WebControls.WebParts.SqlPersonalizationProvider"
          connectionStringName="aspnet_membership"
          applicationName="/" />
        </providers>
        <authorization>
          <deny users="*" verbs="enterSharedScope" />
          <allow users="*" verbs="modifyState" />
        </authorization>
      </personalization>
    </webParts>
  </system.web>
</configuration>
...