Visual Studion 2008 App_Data по умолчанию

Можно ли использовать папку App_Data в сочетании с SQL Server 2005?

При попытке указать Express, хотя я изменил Сервис> Параметры> База данных> Подключения к данным на правильный сервер. Я скачал файл SQLEXPR32_x86_ENU.exe версии 10.0.1600.22 локально и прошел через 7 установок и деинсталляций с множеством различных ошибок. Я почти отказался от Express и хотел бы найти обходной путь, если он существует.

Спасибо

Деннис Кит

2 ответа

Вы можете использовать базу данных SQL Server 2005 (или 2008) с проектом веб-приложения или веб-сайта. Вы, вероятно, можете иметь файлы базы данных (.mdf, .ldf) в App_Data папку (и помните, что вам нужно подключить базу данных1 к SQL Server напрямую - файл автоматического подключения работает только с Express).

Но вам нужно убедиться, что соединения данных, используемые приложением, настроены на использование строк соединения, определенных в собственном приложении. web.config, По умолчанию такие вещи, как поставщик членства по умолчанию для базы данных SQL Express в App_Data из-за содержания глобального machine.config2 настройка провайдера членства для использования соединения LocalSqlServer который установлен в том же файле:

источник данных =.\SQLEXPRESS; Интегрированная безопасность =SSPI;
AttachDBFilename=|DataDirectory|aspnetdb.mdf; Пользовательский экземпляр =true

куда |DataDirectory| будет заменен во время выполнения App_Data в корне приложения.

Вкратце, приложению (web.config, соединения данных VS не используются вне конструктора) необходимо:

  • Используйте SQL Express. .mdf в папке App_Data со строкой подключения, используя "AttachDBFilename".
  • Использовать SQL Server (полный) с базой данных, настроенной (постоянно) в SQL Server с файлами данных (.mdf, .ldf) в месте, к которому может получить доступ учетная запись пользователя SQL Server. Все строки подключения ссылаются на эту базу данных через "Data Source"(установить имя сервера) и"Initial Catalog"чтобы установить базу данных. Учетная запись для пула приложений IIS должна иметь возможность доступа к SQL Server.

1 Используйте SQL Management Studio для этого. (И спасибо другому ответу за напоминание.)

2 см %SystemRoot%\\Microsoft.NET\Framework\v2.0.50727\CONFIG\machine.config,

Помещение файла *.mdf в ваши App_Data и присоединение его в качестве базы данных экземпляра пользователя работает только с SQL Server Express, да.

Если вы хотите использовать "настоящий" SQL Server, вы все равно можете поместить свои *.mdf и *.ldf файлы в App_Data - вы просто не можете автоматически присоединить их к вашему экземпляру SQL Server, вам придется сделать это вручную, используя SQL Server Management Studio (в обозревателе объектов вашей SSMS перейдите на узел "Базы данных" и щелкните правой кнопкой мыши, выберите "Attach....", а затем перейдите в папку App_Data и выберите файл *.mdf).

Так что да, в некотором смысле, Visual Studio имеет папку App_Data, которая наиболее подходит для SQL Server Express (который устанавливается вместе с Visual Studio по умолчанию).

Марк

Другие вопросы по тегам