这允许并发用户写嵌入式数据库 - 无需安装任何东西多用户的应用程序?多用户、嵌入式、应用程序、无需安装

2023-09-03 04:40:48 作者:..警告:╰淡定。

我需要创建一个应用程序,

I need to create an application, that

在被多个用户同时 在不需要的任何安装 有一个集中的数据存储 数据必须存储 公司的网络里面 我没有访问以公司内部的数据库服务器或Web服务器 is used by multiple users concurrently does not require any installation has a centralized data storage data must be stored inside company's network i don't have access to company's internal database servers or webservers

这些限制是不是我自己 - 这些都是从我的客户来了 - 这是一个全球性公司的一个分支,有一个全球性的公司层面的一些大的IT政策限制,他们能不会影响他们的水平(类似的东西),但他们仍然需要一个软件。

These restrictions are not of my own - these are coming from my customer - this is a branch of a global company and there are some big IT policy restrictions on a global company level, that they can not impact on their level (something like that), but they still need a software.

我的意图是要找到如何以他们提供的软件工作片,尽管这些限制。

My intent was to find HOW to provide them with a working piece of software despite those restrictions.

所以,唯一的选择(我的理解)是将数据存储在网络共享上 - 在一个或多个文件。问题是要找到一种方法如何提供一个并行写访问这些文件。

So the only option (to my understanding) is to store data on a network share - in one or more files. The problem was to find a way how to provide a concurrent write access to those files.

研究至今

首先什么来​​到我的脑海中使用SQL Server精简,并将其放置在网络共享

的SQL Server Compact只允许一个连接位于网络共享

在这时我发现SQLite的 - 做了一些研究,发现它有一些改进过的SQL CE

写入时锁定的SQLite数据库文件,但有可能并发读取操作

在这时我发现VistaDB的,这似乎提供了我需要的功能,但它是非常昂贵的 - 它的成本1295 $每个开发人员...

VistaDB的嵌入式数据库提供行和表级锁!

做精的问题是

其中嵌入式数据库支持的并发用户的写访问? (有没有在这方面进行VistaDB的替代品?) - 请提供的事实,不是意见

Which embedded databases support concurrent user write access? (Is there alternatives for VistaDB in this respect?) - please, provide facts, not opinion.

推荐答案

1),支持并发编辑唯一的嵌入式数据库是VistaDB的(至少我没有成功找到任何其他选项)

1) The only embedded database that supports concurrent editing is VistaDB (at least I had no success to find any other option)

VistaDB的官方网站 - >看看优点/缺点部分! - (..)嵌入式数据库通常锁定每插入操作的整个数据库,我们不知道。我们提供的表和行级锁。的

好东西约VistaDB的 - 它支持实体框架code一

Good thing about VistaDB - it supports Entity Framework Code-first!

对于价格 - 有一个折扣micoISVs($ 450 + $ 125升级为一年)

Regarding price - there is a discount for micoISVs (450$ + 125$ upgrades for one year)

2)如果你知道并发写入到数据库将是非常罕见的 - 那么你可以选择的SQLite,这是一个免费的嵌入式数据库 - 因为SQLite的允许并行读取,但只有一个连接写入数据库时​​。没有找到关于EF支持的任何信息。

2) If you know that concurrent writes to database will be very rare - then you can choose SQLite, which is a free embedded database - because SQLite allows concurrent reads, but only one connection when writing to database. Did not find any information about EF support.

3)如果你将有只有极少数的用户,那么SQL Server精简可能是最好的选择 - 它有一个实体框架的支持

3) If you will have only very few users then SQL Server Compact could be the best option - it has support for Entity Framework.