我正在编写一个带有Access Front端的分布式DB应用程序。基本上是一个带有一些表格和报告的mde。我应该使用访问mdb来保存后端表还是使用MySQL或其他数据库?

有帮助吗?

解决方案

我个人会使用SQL Server Express或MySQL。它们比Access后端更好地扩展,当您准备离开Access时,您可以在不必转换后端和前端的情况下进行扩展。

其他提示

SQL Server Express可能是一个很好的解决方案,但它也有一些非常严格的限制。此外,您需要确保其许可证符合您的需求。

如果您的并发和可伸缩性需求有限(例如10-15个并发用户具有适量的I / O),那么使用MDB后端并没有错。我不是Access粉丝,但我从经验中知道这通常会有用。

此外,管理MDB后端几乎是免费的,而MySQL或SQL Server Express将需要一些实际的DBA工作。如果你有理由相信你永远不需要它,那就没有必要去做更大的事了。

对于实际部署,您可能希望使用真实数据库,而不是Access / Jet数据库引擎。

话虽这么说,访问的好处在于它有一个工具(在菜单中查看)将单个MDB文件拆分为数据库和代码。这样做,然后将代码瞄准新的数据源。

您可能需要稍微修改一些查询。

我认为SQL Server Express将是您的最佳选择。 MySQL对于你的后端来说是一个很好的数据库,但Access与SQL Serv Express更好地集成(当然MS希望你使用它自己的产品,即使它是免费的)而且Express版本非常好,因为它是免费的。如果应用程序最终需要稍后扩展,那么升级到付费SQL Server很简单,驱动程序也是一样。

我认为您应该定义“分布式数据库应用程序”的含义。根据我的理解,这个术语通常会让Jet退出后端。

如果没有用户群体,操作环境,安全性和可靠性要求等指示,没有人能够真正回答您的问题。如果是10个用户并且它不是业务线数据,那么Jet后端可能是完美的,使开发和管理变得轻而易举。如果您有100个用户,那么您肯定希望使用服务器后端。如果您有重要的安全注意事项(例如,HIPAA合规性),您可能希望使用内置服务器级安全性的数据库而不是Jet。

但是有很多应用程序可以让Jet后端很好 - 快速且完全可靠。

还有第三种选择:您可以使用 EQL数据之类的内容,以便您可以使用正常的Access后端,但是为每个人提供他们自己的副本(并在他们之间进行同步)以帮助解决多用户可扩展性问题。这样你就不需要考虑使用“真实”的复杂性了。 DB后端。

选择MySQL,您需要在每个客户端安装MySQL Connector(ODBC)。如果您不喜欢分发aditional组件,SQL Server Express将是一个不错的选择,此外,ADO可以更好地与MS SQL配合使用。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top