Практическое руководство. Управление локальными файлами данных в проекте

 

Опубликовано: Апрель 2016

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

Примечание

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

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

Примечание

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

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

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

Параметр Поведение
Копировать, если новее (по умолчанию для SDF-файлов) Файл базы данных копируется из папки проекта в папку bin при первом построении проекта. При последующих построениях проекта проверяется свойство файла Дата изменения. Если файл в папке проекта новее, он копируется в папку bin, заменяя существующий там файл. Если файл в папке bin новее, копирование не происходит. При установке этого значения сохраняются все изменения данных, выполненные во время выполнения. Это означает, что при каждом выполнении приложения и сохранении изменений данных эти изменения учитываются при следующем выполнении приложения. Caution: Этот параметр не рекомендуется использовать для MDB- или MDF-файлов. Файл базы данных может изменяться, даже когда не вносятся изменения в данные. Достаточно открыть подключение к файлу данных (например, развернуть узел Таблицы в Обозревателе серверов), чтобы сделать этот файл более новым.
Всегда копировать (по умолчанию для MDB- и MDF-файлов) Файл базы данных копируется из каталога проекта в папку /bin при каждом сборке приложения. Поэтому при сборке приложения и сохранения изменений в файле в папке /bin эти изменения будут перезаписаны при следующем копировании исходного файла в каталог /bin.
Не копировать Файл никогда не копируется и не перезаписывается системой проекта. При использовании этого параметра необходимо вручную скопировать файл из каталога проекта в выходной каталог.

Процедура

Ответ на приглашение диалогового окна файла локальной базы данных

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

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

См. также

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