Встроенная (в памяти) база данных или автономная база данных - PullRequest
1 голос
/ 07 апреля 2011

Я создам приложение C # WPF, которое принимает данные USB / RS232 (~ 10 мс) в течение нескольких часов и должно хранить все эти данные в базе данных. Пользователь может сохранить все данные RS232 и данные настроек (например, TextBoxes) в базе данных, а также вывести их в файл. Как только они выведут все данные в файл, соответствующие данные в базе данных будут удалены. Позже пользователь может импортировать (или открыть) файл и загрузить его в приложение, и все его данные будут показаны на дисплее и снова сохранены в базе данных. Я ищу решение для встроенной базы данных, где пользователю не нужно устанавливать сервер базы данных отдельно.

Может ли встроенная (в памяти) база данных, такая как SQLite, выполнить такую ​​работу?

Ответы [ 4 ]

1 голос
/ 02 октября 2014

SQLite не требует какой-либо установки, но разработка в соответствии с SQLite обременительна.Например, даже приведенное выше утверждение дает ошибку.

CREATE TABLE  IF NOT EXISTS firma (firm_id  INTEGER PRIMARY KEY,firm_name TEXT,firma_owner TEXT,counter INTEGER);
1 голос
/ 07 апреля 2011

SQLite не требует установки сервера базы данных.Он также может работать в памяти: http://www.sqlite.org/inmemorydb.html

Для использования C # с SQLite см .: Существует ли оболочка .NET / C # для SQLite?

1 голос
/ 07 апреля 2011

Да, SQLite может сделать это - есть пара моментов, специфичных для ваших ситуаций:

  • Чтобы использовать базу данных в памяти, вы должны указать :memory: в качестве источника данных на вашемСтрока подключения.
  • Чтобы скопировать базу данных в памяти на диск, вы должны использовать API резервного копирования SQLite (см. этот вопрос ) - они не предоставляются Системой.Адаптер данных Data.SQLite (тот, который я рекомендую вам использовать), и поэтому вам потребуется создать несколько вызовов PInvoke.
1 голос
/ 07 апреля 2011

Почему бы и нет?В настоящее время существует SQL Compact Edition 4 с Visual Studio 2010.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...