Поделиться через


Общие сведения о локальных данных

При использовании локальных данных приложение подключается к файлу базы данных на локальном компьютере, а не к базе данных на отдельном сервере. Например, можно подключить приложение, которое разрабатывается в Visual Studio, к следующим файлам локальной базы данных:

  • Файлы базы данных SQL Server Express LocalDB (MDF)

  • Файлы базы данных SQL Server Express (MDF)

  • Файлы базы данных Microsoft Access (MDB)

В следующей таблице приведены ссылки на разделы, описывающие, как подключить приложение к локальным данным:

Раздел

Описание

Пошаговое руководство. Создание локального файла базы данных в Visual Studio

Содержит пошаговые инструкции по созданию файла локальной базы данных, который может использоваться для тестирования функций для работы с данными и сборки приложений.

Пошаговое руководство. Подключение к данным в локальном файле базе данных (Windows Forms)

Предоставляет пошаговые инструкции по подключению к базе данных LocalDB SQL Server Express при создании простого приложения Windows.

Пошаговое руководство. Подключение к данным в базе данных Access (Windows Forms)

Предоставляет пошаговые инструкции по подключению к базе данных Microsoft Access.

Практическое руководство. Подключение к базе данных "Борей"

Предоставляет инструкции по подключению к примеру базы данных Northwind в SQL Server, SQL Server Compact, SQL Server Express и Access.

После создания источника данных и его настройки для доступа к локальному файлу данных вы работаете с данными с помощью тех же технологий и объектов, что и при работе с данными из любого другого источника. Дополнительные сведения см. в разделе Создание приложений для работы с данными.

Интеграция базы данных в приложение

При подключении к локальным данным можно не только подключаться к файлу базы данных, но и интегрировать его в приложение. Например, можно открыть меню Проект, перейти к существующему SDF-, MDF- или MDB-файлу и добавить файл в проект.

При добавлении локальных файлов данных создается типизированный набор данных и строка динамического подключения, которая указывает на файл базы данных в приложении. При добавлении в проект файлов базы данных используйте Мастер настройки источника данных, чтобы указать объекты для включения.

Примечание

Можно автоматически настроить подключение и начать выполнение средства Мастер настройки источника данных, перетащив SDF-, MDF- или MDB-файл из проводника в Обозреватель решений.Затем можно задать объекты для использования в приложении.

Если используется Мастер настройки источника данных для создания источника данных из локального файла, последует запрос о необходимости включить файл в проект. Если его не включить, приложение будет содержать только строку подключения, на которую указывает путь с жестким кодом, а не сам файл данных. Дополнительные сведения см. в разделе Практическое руководство. Управление локальными файлами данных в проекте.

После завершения работы мастера файл базы данных и набор данных отображаются в области Обозреватель решений/Обозреватель баз данных, и выбранные объекты базы данных доступны в окне Источники данных. Перетаскивая элементы из окна Источники данных на форму, можно создавать элементы управления с привязкой к данным. Чтобы открыть окно Источники данных, в меню Данные выберите команду Показать источники данных. Дополнительные сведения см. в разделе Привязка элементов управления к данным в Visual Studio.

Использование файла базы данных

Перед тем как использовать существующий файл базы данных (MDF) в Visual Studio, возможно, понадобится преобразовать файл в файл базы данных SQL Server 2012. При подключении к существующему файлу базы данных отображается окно сообщения с запросом, требуется ли выполнить обновление.

Важно!

При обновлении файла базы данных (MDF) открыть его в более ранней версии SQL Server будет невозможно.

Если Имя экземпляра SQL Server имеет значение SQLEXPRESS и установлена система SQL Server 2008 Express, преобразовывать файл базы данных (MDF) не требуется. SQL Server 2008 Express установлен, если установлена Visual Studio 2010. Чтобы изменить имя экземпляра этого файла базы данных, откройте Visual Studio, откройте диалоговое окно Добавить подключение, укажите .\SQLEXPRESS в качестве имени сервера, затем укажите базу данных или имя файла базы данных.

SQL Server Express LocalDB и SQL Server Express

Можно добавить файл базы данных, основанной на службе, (MDF) в любой проект в Visual Studio. Для разработки таблиц и других объектов базы данных, а также выполнения запросов можно использовать конструкторы в Visual Studio.

При создании в Visual Studio базы данных, основанной на службах, для доступа к файлу базы данных (MDF) она использует подсистему SQL Server Express LocalDB, где в более ранних версиях Visual Studio использовался обработчик экспресс-выпуска SQL Server.

SQL Server Express LocalDB — это упрощенная версия SQL Server, которая обладает множеством возможностей по программированию баз данных, аналогичных SQL Server. SQL Server Express LocalDB выполняется в пользовательском режиме, и его можно установить более быстро, с меньшим числом требований и без конфигурации.

Примечание

Дополнительные сведения о SQL Server Express LocalDB см. в статьях Вводные сведения о LocalDB, усовершенствованной версии SQL Express и LocalDB: где моя база данных? на веб-сайте Microsoft.

В Visual Studio можно использовать SQL Server Express по умолчанию вместо SQL Server Express LocalDB. В строке меню выберите Сервис, Параметры. В узле Инструменты базы данных и выберите Подключения данных. В поле Имя экземпляра SQL Server введите SQLEXPRESS. В качестве альтернативы можно ввести другие значения для имени экземпляра SQL Server (например, SQL2008).

В следующей таблице описаны различия между командами SQL Server Express LocalDB и SQL Server Express.

SQL Server Express LocalDB

SQL Server Express

Тип базы данных при создании базы данных, основанной на службах

В Visual Studio 2012 и Visual Studio 2013 — SQL Server Express LocalDB

В Visual Studio 2010 и более ранних версиях — SQL Server Express

Имя экземпляра SQL Server в средствах и параметрах

(LocalDB)\v11.0

SQLEXPRESS

Значение источника данных в строке подключения

(LocalDB)\v11.0

.\SQLEXPRESS

Значение AttachDbFilename в строке подключения

путь к файлу

путь к файлу

Требуется пользовательский экземпляр ("User Instance=True" в строке подключения)

Нет

Да

Расширение файла базы данных

MDF

MDF

Преимущества SQL Server Express LocalDB

  • SQL Server Express LocalDB совместима с основанными на службах выпусками SQL Server для функций, включаемых SQL Server Express LocalDB. В SQL Server можно переместить все базы данных или код Transact-SQL из SQL Server Express LocalDB в SQL Server или SQL Azure, не выполняя никаких действий по обновлению. Поэтому можно использовать SQL Server Express LocalDB для разработки приложений, ориентированных на все выпуски SQL Server.

  • SQL Server Express LocalDB поддерживает те же оптимизатор запросов и средство обработки запросов, что и более высокие выпуски SQL Server.

Каждый проект содержит две копии базы данных

При сборке проекта файл базы данных может быть скопирован из корневой папки проекта в выходную папку (bin). Это расширение функциональности зависит от свойства Копировать в выходной каталог файла, а значение по умолчанию этого свойства зависит от типа файла базы данных, который необходимо использовать.

Нажмите кнопку Показать все файлы на панели инструментов для просмотра папки bin в области Обозреватель решений.

Примечание

Свойство Копировать в выходной каталог не распространяется на веб-проекты и проекты C++.

Файл базы данных в корневой папке проекта изменяется только при изменении схемы базы данных или данных с помощью обозревателя серверов/обозревателя баз данных или иных Визуальные инструменты для баз данных.

В ходе изменения данных в процессе разработки приложений происходит изменение базы данных в папке bin. Например, при нажатии клавиши F5 для отладки приложения выполняется подключение к базе данных в этой папке.

Значение свойства Копировать в выходной каталог

Поведение

Копировать, если новее (значение по умолчанию для SDF-файлов)

Файл базы данных копируется из папки проекта в папку bin при первой сборке проекта. Свойство Дата изменения файлов затем сравнивается при последующих сборках проекта. Если файл в папке проекта новее, он копируется в папку bin, заменяя существующий там файл. В противном случае файлы не копируются.

Предупреждение

Это значение не рекомендуется использовать для MDB- или MDF-файлов.Файл базы данных может изменяться, даже когда не вносятся изменения в данные.Файл можно пометить как более новый, если просто открыть подключение (например, развернуть узел Таблицы в области Обозреватель серверов).

Всегда копировать (значение по умолчанию для MDB- и MDF-файлов)

Файл базы данных копируется из каталога проекта в папку bin при каждой сборке приложения. Все изменения, выполненные в файле данных из выходной папки, будут перезаписаны при следующем запуске приложения.

Не копировать

Система не перезаписывает файл в папке Корзина. Приложение создает динамическую строку подключения, указывающую на файл базы данных в выходном каталоге. Поэтому необходимо вручную скопировать файл в выходной каталог, если требуется, чтобы данные в выходном каталоге соответствовали данным в каталоге проекта.

Общие проблемы локальных данных

В следующей таблице приведены типичные проблемы, возникающие при работе с локальными файлами данных.

Проблема

Объяснение

Каждый раз при проверке моего приложения и изменении данных мои изменения пропадают при следующем запуске приложения.

Значение свойства Копировать в выходной каталог равно Копировать, если новее или Всегда копировать. База данных в выходной папке (база данных, изменяемая при тестировании приложения) перезаписывается каждый раз при сборке проекта. Дополнительные сведения см. в разделе Практическое руководство. Управление локальными файлами данных в проекте.

Появляется сообщение о том, что файл данных заблокирован.

Access (MDB-файлы): убедитесь, что файл не открыт в другой программе, например в Microsoft Access.

SQL Server Express (MDF-файлы): SQL Server Express блокирует файл данных при попытке скопировать, переместить или переименовать его вне Visual Studio IDE.

При попытке нескольких пользователей обратиться к одной и той же базе данных в одно и то же время в доступе будет отказано.

Visual Studio использует преимущества пользовательских экземпляров, функции SQL Server Express, где отдельный экземпляр SQL Server создается для каждого пользователя. После того как один пользователь обратится к файлу, все последующие пользователи подключиться не смогут. Эта проблема может произойти, например, при попытке запуска веб-приложений в ASP.NET Development Server и IIS в одно и то же время, поскольку IIS обычно выполняется под другой учетной записью.

См. также

Задачи

Пошаговое руководство. Подключение к данным в локальном файле базе данных (Windows Forms)

Пошаговое руководство. Подключение к данным в базе данных Access (Windows Forms)