【问题标题】:How to set up Access database as a back-end only如何将 Access 数据库设置为仅后端
【发布时间】:2015-08-09 07:14:02
【问题描述】:

我计划使用 Excel 作为前端,而只使用 Access 作为后端。 (所有查询和表格都在 Excel 中)。将从位于共享驱动器(Linux 服务器)上的多个 Excel 文件中查询单个 Access 数据库。访问表包含备注、文本和数字字段。 数据将被发送到 Access 表并且记录将被追加/删除;全部通过 Excel。

将有多个用户通过位于共享驱动器上的多个 Excel 文件与单个 Access 数据库进行交互。用户将从不同的工作站与 Windows 7 进行交互,所有工作站都安装了 Access 2010 和 Excel 2010。

此过程适用于我的工作站,但我不确定当其他 4 个人将记录发送/附加/删除到同一个数据库时会发生什么? 我该如何进行这项工作?我需要在 Access 中签入哪些设置才能实现这一点?

非常感谢任何建议,因为我是 Access 的新手。

谢谢!

【问题讨论】:

  • 如果您只需要后端,那么为什么不用 MS SQL?作为权宜之计,Access 可以用作带有链接表的备用“仪表板”。
  • 抱歉,我需要让它与 Access 一起使用。您知道这是否适用于 Access 吗?谢谢

标签: excel ms-access


【解决方案1】:

Access 是文件服务器,而不是数据服务器。 这意味着当您对 Access 数据库进行查询时,所有数据都将发送到处理查询的客户端部分。 在 Excel 中查询“获取 Kernighan 写的书”。 Excel 将要求访问(通过 ADO 或 DAO):“将所有书籍发送给我”。 Access 将发送所有书籍,Excel 将找到 Kernighan 编写的书籍。

同样,如果 Excel(仍然使用 ADO / DAO)想要进行更新,它会在本地进行。 Access 数据库只会设置一个标志来防止冲突。 (顺便说一句,这个标志存储在 .laccdb 文件中)

在您的情况下,所有这些都由 ADO/DAO 层完成,这将

  • 发送所有数据
  • 设置一个标志以防止一个数据处于编辑模式时发生冲突

所以,简而言之:是的,你可以做到;)

【讨论】:

  • 我已经构建了整个项目,它对我来说效果很好。但是,其中一位用户试图将数据发送到我的 Access 数据库,但他无法从他的工作站发送数据,它是只读给他的。我对 Access 知之甚少,想知道是否需要设置任何特殊设置,以便多个用户可以执行我可以执行的所有操作?将只有 5 个用户,但多个 Excel 文件都喜欢同一个数据库。一切都在共享驱动器上。基本上,我试图公开一场灾难。谢谢
  • 我也想知道一旦我有 100 万行数据(秒、分钟)从 Excel 查询 Access 会有多慢?谢谢
  • Access 不会将所有数据发送到客户端进行查询。这是一个相当普遍的误解。发送给客户端的内容取决于系统设计和查询的 where 子句。
  • 您的系统运行速度有多慢取决于其设计以及您的网络。好的系统设计+好的网络设计+快速的网络+好的维护+好的硬件=好的性能。请注意,Access 的文件大小限制为 2GB。如果您要定期通过网络发送 100 万行,则速度将更多地取决于网络而不是 BE。
  • 您的所有用户都有相同的前端吗?如果不是,我怀疑连接字符串或记录集定义略有不同。你使用 DAO 还是 ADO?
猜你喜欢
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
  • 2018-06-27
相关资源
最近更新 更多