无需数据库服务器的独立桌面应用与集中式数据库(文件)?

0 投票
2 回答
1691 浏览
提问于 2025-04-18 04:32

我正在开发一个相对简单的桌面应用程序,主要是供我们部门的100到150人使用,主要用于报告。可惜的是,我必须在一些比较严格的限制条件下进行开发,这些条件类似于这个帖子中提到的要求。这个应用程序将是一个独立的可执行文件,不需要安装。

我遇到的问题是如何处理数据库的需求。这个应用程序的数据大概只有1GB,但需要让所有人都能访问。

我本来想把数据库嵌入到应用程序里(使用SQLite),但数据需要每周从一个集中式的流程中更新,所以我觉得维护一个数据库会比给每个应用程序推送更新要简单得多。而且用户也需要对数据库进行写入,这些更新需要让所有人都能看到。

我不能为数据库设置服务器,这样就排除了任何真正的数据库的好选择。我只能使用文件共享或SharePoint。

看起来我只能选择MS Access或SQLite。我更倾向于使用SQLite,因为我喜欢Python和SQLAlchemy,但根据我所了解的,SQLite并不适合多个用户通过网络访问(甚至可能不行)。

我有没有其他的选择可以解决这个问题,还是只能使用MS Access?也许我需要考虑使用SharePoint列表和应用程序?

我已经研究这个问题很长时间了,想法也用尽了。任何帮助都非常感谢。

顺便说一下,正如你们所见,我并不是专业的开发者。我在网页、Python和VB开发方面有一些经验,能够应付得来,所以我被要求做这个作为一个副项目。

2 个回答

0

因为我的选择不多,我决定每个应用程序都使用内置的SQLite数据库。这个数据库每周或每两周只需要更新一次,所以我觉得用30秒的时间从简单的文件中提取数据来更新是可以的。这样用户就可以在本地随时浏览所有数据。

1

SQLite可以在网络上运行,并且可以被不同的程序共享。不过,如果你的应用程序需要频繁写入数据,这种方式就不太合适,因为在写入的时候,它会锁住数据库文件,直到写入完成。但如果你的应用主要是用来查看数据,比如生成报告,那么使用SQLite就很合适了。

撰写回答