Встроенная база данных для .net, которая может работать в сети

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

Теперь моя первая идея была версия SQL Server Compact. Это действительно прекрасно интегрировано, но оно не может бежать из сети.

Firebird, похоже, имеет ту же проблему, но интеграция .net кажется не совсем первоклассной и в значительной степени недокументирована.

Blackfish SQL выглядит интересным, но нет пробной версии .net. Ценообразование также ОК.

Любые другие предложения о том, что хорошо работает с .net и, запускаются из сети без необходимости установки серверного программного обеспечения?

Ответ 1

SQLite пришел мне на ум, когда я читал ваш вопрос, и я совершенно уверен, что он может получить доступ к нему с сетевого диска если вы держите себя за ограничение 1 пользователь за раз.

SQLite на .NET - запустите за 3 минуты

Ответ 2

Я бы рекомендовал Advantage Database Server (www.advantagedatabase.com). Это зрелая встроенная БД с большой поддержкой и доступная с многих языков разработки в дополнение к .NET. "Локальная" версия бесплатна, работает внутри вашего приложения в виде DLL, не требует установки на общий ресурс сервера/сети и поддерживает все основные функции БД. Вы можете хранить файлы БД и/или приложения в сети; ему все равно, где находятся данные.

Отказ от ответственности: я инженер в группе AD & R & D. Я обещаю, это скалы:)

Ответ 3

Похоже, что ADO/Access идеально подходит для ваших нужд. Он запекается в стек MS, хорошо приправленный и многопользовательский.

Вы можете программно создать базу данных так:

Dim catalog as New ADOX.Catalog
Catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\server\path\to\db.mdb")

Затем вы можете использовать стандартные методы ADO.NET для взаимодействия с базой данных.

Ответ 4

Вы можете использовать встроенную firebird, это просто DLL, которую вам нужно будет отправить с собой.

О том, что недокументировано, это не так, драйвер Firebird.NET реализует интерфейсы ADO, поэтому, если вы знаете ADO, вы можете работать с Firebird, в основном вместо SQLConnection вы будете использовать FBConnection и так далее, но мой совет для записи уровня доступа к данным и использования только интерфейсов на вашем коде, что-то вроде этого:

using FirebirdSql.Data.FirebirdClient;

public static IDbConnection MyConnection()
{
    FbConnection cn = new FbConnection("...");
    return cn;
}

Этот пример очень прост, но вам не потребуется гораздо больше.

Мы используем firebird для нашего приложения без каких-либо проблем, вы должны хотя бы попробовать.

Ответ 5

Немного поздно на почту здесь.. И VistaDB уже упоминалось, но я хотел указать, что VistaDB на 100% (поскольку ваш пост был помечен как .net). Он может запускаться с общего сетевого диска и развертывается 1MB xcopy.

Поскольку вы упоминаете SQL CE, мы также поддерживаем синтаксис T-SQL и типы данных (на самом деле больше, чем SQL CE) и имеют обновляемые представления, TSQL Procs и другие вещи, отсутствующие в SQL CE.

Ответ 6

Отъезд VistaDB. У них очень хороший продукт, версия сервера (3.4) находится в бета-версии и очень близка к выпуску.

Ответ 7

Почему бы не использовать SQL Server 2005 Express edition?

Это действительно зависит от того, что вы подразумеваете под "встроенным", но вы можете перераспределять SQLServer2005E с вашими приложениями, и пользователь никогда не должен его там знать.

Внедрение SQL Server Express в приложениях

Внедрение SQL Server Express в пользовательские приложения

Ответ 8

Я озадачен.

Вы запрашиваете встроенную базу данных, где сама база данных хранится на сервере. что переводит на сохранение файла данных на сетевом ресурсе. Затем вы говорите, что SQL Compact Edition не будет работать... кроме того, если вы посмотрите на этот документ:

Документ Word:
Выбор между SQL Server 2005 Compact Edition и SQL Server 2005 Express Edition

На странице 8 у вас есть хороший большой зеленый галочка рядом с "Хранилище файлов данных на сетевом ресурсе".

Итак, мне кажется, что ваша первая мысль была правильной.

Ответ 9

Там также Valentina. Я работал над этим продуктом, когда работал над проектом Real Basic. Версия RB очень хороша.

Ответ 10

Вы считали OODB? Из различных альтернатив открытых источников я рекомендую db4o (извините за саморекламу:)), которые могут запускаться как встраиваемые, так и в клиент/сервер режим.

Лучшие

Адриано