gpt4 book ai didi

sql - 为只有文件服务器的多用户应用程序选择数据库 (windows)

转载 作者:搜寻专家 更新时间:2023-10-30 19:51:28 25 4
gpt4 key购买 nike

我需要为在文件服务器上使用同一数据库的基于 Windows 的应用程序的多个同时用户选择一个数据库解决方案。

我需要一个可以在 Windows 操作系统文件服务器上运行的数据库。

  1. 必须由在单个 MS 上运行的多个应用程序共享Windows 机器(主要是 Windows 7)
  2. 由文件服务器提供。
  3. 不能使用数据库服务器/引擎(由于内部政治规则)或网页服务器。
  4. 更喜欢将 C# 用于一组 WPF 应用程序。
  5. 目前正在使用一组 VB 应用程序和一组 MS Access文件 - 这些应用程序之一有问题,需要重写。
  6. 当前的一组大约六个 *.mdb 文件(一些带有链接表)大约 400 MB。估计每年增长 10 到 20 MB。
  7. 最多约有 12 个并发用户,每个用户都在自己的 PC 上现在。不要指望 future 会有太大变化。
  8. 所有应用都向数据库读取和写入数据。
  9. 目前有几个人(大约 4 人)在 Access 中编写临时查询 -他们将继续需要能够以某种方式编写查询。
  10. 想要防止数据库结构发生变化(添加表/列)。
  11. 免费软件。

我知道的选择是:

  1. 访问 .mdb 文件(当前情况)。
  2. SQLite。
  3. SQL Server CE。

是否有其他系统可以满足许多或所有所需特征?对于我正在考虑的系统,是否有我应该了解的特定“问题”?

最佳答案

嗯,“不能使用数据库服务器/引擎”让事情变得更难了。 “免费”也是如此。

我认为 Access 是您列表中唯一接近满足所有要求的东西。它不是免费的,但您似乎已经拥有它,所以至少不需要额外付费。

Access 本质上是三种不同的捆绑产品。

  • Jet 数据库引擎
  • 用于查询、表单和报告的 RAD 环境
  • VBA编程环境

如果您只使用数据库引擎,那么使用 SQL Server CE 进行一些测试是有意义的。

切换到 SQLite 可能需要对应用程序代码进行额外检查。 SQLite 支持 storage classes ,不是数据类型。那是什么意思?这意味着 SQLite 允许这样做。

sqlite> create table foo (n integer);
sqlite> insert into foo values ('wibble');
sqlite> select n from foo;
wibble

HyperSQL是另一种可能。仅支持 JDBC,可能在没有服务器组件的情况下运行。 (文档并没有立即明确这一点。)我认为切换到这个比切换到 SQL Server CE 需要做更多的工作。

另见 H2Firebird .

关于sql - 为只有文件服务器的多用户应用程序选择数据库 (windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12021337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com