ASP.NET SQL -провайдер
-
24-10-2019 - |
Вопрос
У меня проблема. Когда я создаю новый проект в ASP.NET, используя VS 2010, это web.config с строкой подключения по умолчанию, созданного SQL Express. Но я даже не установил SQL Express. Что я должен сделать, чтобы изменить ASPNETSQLProvider по умолчанию для работы с моим экземпляром полного веса SQL Server в качестве базы данных сервисов? И как я могу изменить шаблон для проекта ASP.NET, чтобы создать проект с моим соединением?
Решение
Вы имеете в виду это:
<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" />
где есть база данных вероятно aspnetdb. Потребуется какая -то форма аутентификации, независимо от того, используете ли вы аутентификацию Windows (в этом случае вы можете скопировать Integrated Security
Элемент из исходной строки подключения) или аутентификации SQL Server (где у вас будет комбинация имени пользователя/пароля).
Есть отличная информация о строительстве соединения в 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 - из командной строки (командная строка, вероятно, работает лучше всего), запустить devenv /installvstemplates
. Анкет Видеть здесь Для деталей.
Другие советы
У меня была похожая проблема. У меня был веб -сайт, созданный в VS 2008, и я хотел попробовать веб -части. Добавлены на страницу, затем начали получать:
Ошибка автоматического создания базы данных SQLEXPRASE.
Строка подключения определяет локальный экземпляр SQL Server Express, используя базу данных> местоположение в каталоге Applications APP_DATA.
Я запустил aspnet_regsql.exe (Wizard, в папке .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>