2009-03-08 3 views
6

Как создать файл db на C#? друг сказал мне, что он находится в панели инструментов и не использует sqlite. Я не вижу ничего, что могло бы быть, и того, что оно называется. google didnt help :(База данных C# в файле

ответ

3

Нет основанного на файлах поставщика баз данных, встроенного в C# или .NET Framework. Существуют, конечно, уже существующие соединители для использования SQL Server (который включает в себя SQL Express), но если вам нужно полнофункциональные СУБД, которая на основе файлов, вам нужно использовать что-то вроде SQLite или Firebird (также поклонник VistaDB, не бесплатно или с открытым исходным кодом, но очень твердый и довольно доступный).

+1

Что относительно XML - не основано на файлах? – cdonner

+0

@cdonner XML не является базой данных по большинству распространенных определений. (Хотя, конечно, формально это может быть.) –

-7

вы ошибаетесь. Базы данных не разработаны в C#. Базы данных построены с использованием системы баз данных, такой как Oracle, MS SQL Server, MySQL и многие другие.

Как только вы бу ild с помощью одного из указанных выше поставщиков, вы можете выполнять действия в базе данных, используя свой язык программирования (в вашем случае C#), чтобы получать данные и помещать в него данные.

+0

Это не совсем так, обязательно. Такие продукты, как VistaDB, являются полностью функциональными СУБД, написанными на C#. –

+0

@Rex: В контексте вопроса это довольно точное утверждение. Он рассматривает, как создать базу данных на C#, а не в СУБД. – TheTXI

0

Если вы используете Visual Studio или Web Developer Express, действительно есть способы легко создать базу данных MS SQLExpress. Просто перейдите в «Добавить новый элемент» ... и он должен быть одним из доступных типов файлов.

Имейте в виду, что вы должны установить либо Microsoft SQL Express Edition (бесплатно, как в пиве!), Либо Microsoft SQL (очень un-free !, во всех смыслах). Если вы этого еще не сделали, вы не сможете легко создать файл базы данных. Если у вас есть это, вы можете получить его here.

Как отмечают другие ответчики, строго говоря, это не функция C#. MS SQL и его производные, являются приложениями баз данных, такими как Oracle, MySQL или PostgreSQL. Просто Microsoft Visual Studio по умолчанию использует продукт базы данных Microsoft очень просто. Дифференциация между C#, Visual Studio и любыми программами базы данных, вероятно, даст вам лучшие ответы, быстрее, независимо от того, где вы спрашиваете. :)

9

Может быть ...

SQL Server Compact Edition - Легкое в процессе ядро ​​базы данных, предназначенное для запуска на устройствах и настольных компьютерах и ориентирован на локальном хранилище данных. Compact Edition включает подмножество типов данных SQL Server 2005 и разделяет общие элементы языка Transact-SQL (T-SQL) с механизмами служб данных.

1

В меню «Добавить новое меню»: «База данных служб» или «База данных Sql Server», если это приложение asp.net. Я уверен, что ваш друг означал это как «создать файл sql express db в Visual Studio».

Это сказал, если вы хотите, чтобы заполнить пустую базу данных, с таблицами, которые соответствуют переменному току # модели, вы можете создать модель Linq2SQL, и использовать его CreateDatabase, чтобы сделать это для вас :)

Вы можете для проверки этого http://quickstarts.asp.net/QuickStartv20/aspnet/doc/data/vwd.aspx (визуальная ссылка веб-разработчика, но она применяется).

Для полного/углубленного объяснения того, как SQL Express может использоваться с полу файла на основе проверки подхода и его ограничения: http://www.databasejournal.com/features/mssql/article.php/3704171/SQL-Server-2005-Express-Edition---Part-8---XCopy-Deployment.htm

0

Каждая база данных имеет в некотором двоичном формате более чем вероятно, обычая и в file system использует cache для управления потоком жизни базы данных.

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

Если у вас есть 1000 клиентов, обращающихся к одному и тому же дБ, вы, конечно же, не хотите, чтобы read/write в файл для каждого клиентского запроса, поэтому вы хотите управлять очередью клиентов и запускать его против кеша, чтобы кэш знает, что не освободить db после того, как его временной интервал для достижения жизненного цикла достигнут, чтобы скорее обновить временной интервал, поэтому не нужно перезагружать файл, если он будет удален и снова поставлен в очередь, пока очередь, ссылающаяся на объект db, не будет пуста.

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

0

Вы можете использовать

FileDB - A C# базы данных для хранения файлов

http://filedb.codeplex.com

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

Затем он сохраняет его только в одном файле в указанном вами местоположении.

Как это:

private string pathDB = @"C:\CMS-MVC\Parts\FileManager\filedb-19055\trunk\MvcTest\Data\MvcData.dat"; 

Это один файл будет хранить все ваши файлы в этом одном «контейнер».

+0

проблема заключается в том, что, хотя вы сохраняете файл, скажите hi.txt, вы не можете получить его обратно по имени hi.txt, вы можете искать только какой-то идентификатор, возвращаемый при сохранении файла – Samuel

0

Возможно, вы можете попробовать Microsoft LocalDB. Он основан на файлах, но использует установку SQLExpress низкого уровня для его размещения.

Смежные вопросы