【发布时间】:2009-04-30 15:47:15
【问题描述】:
我正在编写一个带有 Access 前端的分布式数据库应用程序。本质上是一个带有一些表格和报告的 mde。我应该使用 access mdb 来保存后端表还是使用 MySQL 或其他数据库?
【问题讨论】:
标签: mysql database ms-access ms-access-2007 backend
我正在编写一个带有 Access 前端的分布式数据库应用程序。本质上是一个带有一些表格和报告的 mde。我应该使用 access mdb 来保存后端表还是使用 MySQL 或其他数据库?
【问题讨论】:
标签: mysql database ms-access ms-access-2007 backend
我个人会使用 SQL Server Express 或 MySQL。它们比 Access 后端具有更好的扩展性,当您准备好离开 Access 时,无需转换后端和前端即可。
【讨论】:
SQL Server Express 可能是一个很好的解决方案,但它也有一些非常严格的限制。此外,您需要确保其许可证符合您的需求。
如果您的并发性和可扩展性需求受到限制(例如 10-15 个具有中等 I/O 量的并发用户),则使用 MDB 后端没有任何问题。我不是 Access 的粉丝,但我从经验中知道这通常会奏效。
此外,管理 MDB 后端几乎是免费的,而 MySQL 或 SQL Server Express 则需要一些实际的 DBA 工作。如果你有理由确定你永远不需要它,那么使用更大的东西是没有意义的。
【讨论】:
对于实际部署,您可能希望使用真正的数据库,而不是 Access/Jet DB 引擎。
话虽如此,访问的好处在于它有一个工具(在菜单中查看)可以将单个 MDB 文件拆分为数据库和代码。这样做,然后将代码对准新的数据源。
您可能需要稍微修改一些查询。
【讨论】:
我认为 SQL Server Express 将是您的最佳选择。 MySQL 是一个很好的后端数据库,但 Access 与 SQL Serv Express 集成得更好(当然,MS 希望你使用它自己的产品,即使它是免费的),考虑到它是免费的,Express 版本相当不错。如果应用程序最终需要在以后大规模扩展,那么升级到付费 SQL Server 很简单,驱动程序也是一样的。
【讨论】:
我认为您应该定义“分布式数据库应用程序”的含义。据我了解,该术语通常会使 Jet 退出后端的运行。
如果没有说明用户数量、操作环境、安全性和可靠性要求等,没有人可以真正回答您的问题。如果是针对 10 个用户并且不是业务线数据,那么 Jet 后端可能是完美的,并且让开发和管理变得轻而易举。如果您有 100 个用户,那么您肯定希望使用服务器后端。如果您有重要的安全考虑(例如,HIPAA 合规性),您可能希望使用内置服务器级安全性的数据库,而不是使用 Jet。
但有很多应用程序都可以使用 Jet 后端——快速且完全可靠。
【讨论】:
还有第三种选择:您可以使用 EQL Data 之类的东西,这样您就可以使用普通的 Access 后端,但为每个人提供自己的副本(并在他们之间进行同步)以帮助解决多用户可扩展性问题。这样,您就无需考虑使用“真实”数据库后端的复杂性。
【讨论】:
选择 MySQL,您需要在每个客户端中安装 MySQL 连接器 (ODBC)。如果您不喜欢分发额外的组件,SQL Server Express 将是一个不错的选择,此外,ADO 与 MS SQL 配合得更好。
【讨论】: