首页 / 知识
使用 MS Access 作为 MySQL 数据库后端的前端的问题?
2023-04-11 21:26:00

Issues using MS Access as a front-end to a MySQL database back-end?两个用户想要共享同一个数据库,最初是用 MS Access 编写的,但不会因单个 MDB 文件而相互冲突。 我使用它的迁移工具包(顺便说一下,它运行良好)将表从一个简单的 MS Access 数据库移动到 MySQL,并设置 Access 以通过 ODBC 链接到这些表。 到目前为止,我遇到了以下问题:
一旦数据库在使用中,我会期待任何其他问题吗?特别是当两个用户都在同一张桌子上工作时? 我知道这个话题不是太新鲜,只是一些额外的解释: 如果您想有效地使用 MS Access,尤其是对于更大的多用户数据库,请执行以下操作:
我可以告诉你,我正在使用非常先进的 MS Access 前端到 MySQL 后端,我非常满意(作为维护这个应用程序的开发人员)。我的朋友们,用户也很满意,因为他们对 GUI(前端)、速度(MySQL)感到非常满意,他们在记录锁定或数据库性能方面没有任何问题。 此外,阅读大量有关良好做法和其他人经验的内容也很重要。我会说在很多情况下 MS Access 是一个很好的解决方案。我知道很多专用的定制系统,它们最初是作为私有 MS Access 数据库(MDB 文件)形式的实验,然后演变为:拆分的 MS Access(MDE - 前端,MDB - 后端),最后演变为:MS Access 前端(MDE)和"严肃"的数据库后端(主要是 MS SQL Server 和 MySQL)。同样重要的是,您始终可以将您的 MS Access 解决方案用作工作原型 - 您已准备好在数据库中使用后端(假设 MySQL),并且您可以将前端重写为您选择的技术(Web 解决方案?也许是桌面 C#应用程序 - 你需要什么!)。 我希望我对考虑使用 MS Access 的一些人有所帮助。 问候, 我有一个同样工作的应用程序:一个 MS Access 前端到一个 MySQL 后端。这是一个巨大的痛苦,我最终写了一个 Win32 前端。从我的头顶上,我遇到了以下问题:
一种可能的替代方法是将后端(包含数据)放在共享驱动器上。我记得这是有据可查的,也在帮助中。您可能想查看一些关于拆分为前端和后端以及在启动时自动重新连接到后端的代码的一般建议;我还可以向您发送更多示例代码,或在此处发布。 否则,您可能还需要考虑 MS SQL。我没有这方面的经验,但我认为它与 MS Access 一起工作得更好! 加雷斯·辛普森认为:
呃,不。没有多用户访问应用程序,每个用户都不应该拥有一个专用的前端副本。这意味着每个用户的工作站上都??应该有一个 MDB。为什么?因为前端的对象不能很好地共享(不如 Jet 数据表,尽管在这个场景中没有任何一个使用 MySQL 作为后端)。 加雷斯·辛普森继续说:
不,这完全不正确。 MDB 用户的理论限制是 255 个。当然,这不现实,因为一旦达到大约 20 个用户,您必须仔细编程您的 Access 应用程序才能正常工作(尽管您需要在 Access-to- Jet 应用程序与您为提高任何服务器数据库应用程序的效率所做的事情相同,例如,检索最小的可用数据集)。 在这种情况下,由于每个用户都应该拥有前端 MDB 的单独副本,因此 Access/Jet 的多用户限制根本不相关。 不要忘记在每条记录上加上一些类型的时间/日期戳。有时 ms access 会认为"另一个用户已更改或删除了记录"并且不允许您进行更改!我发现这很困难。 我知道这并不能直接回答您的问题,但可能值得查看用于 Access 的 SQL Server 2005 迁移工具。我从未使用过该工具,但它可能值得与 SQL Server 2005 Express Edition 一起使用,以查看是否存在与 MySQL 相同的问题 一般来说,这取决于:) 当应用程序端刚刚通过表单更新数据时,我没有遇到很多问题。当多个用户更新同一行时,您可能会收到警告/错误;但 Access 似乎一直在不断更新其实时记录集。 如果 Alice 已经在使用记录 365,并且 Bob 更新了它,然后 Alice 尝试用她的更改来更新它,那么问题可能会发生。我记得,Alice 会收到一条神秘的错误消息。如果您捕获这些错误并至少给他们一个更友好的错误消息,那么用户会更容易。 当我通过 RecordSets 在 VB 代码中编辑记录时,我遇到了更多问题,尤其是在结合编辑表单上的相同数据时。这不一定是多用户问题。但是,您的情况几乎相同,因为您有一个用户与同一数据有多个连接。 如果只有两个用户,那么如果您将 .mdb 放在共享驱动器上,Access 应该可以正常工作。 你有没有先尝试过,而不是仅仅假设它会是一个问题。 我相信 Access 的推荐最大并发用户数是 5,但有时我已经将它推到了这个范围内,并且永远不会被卡住。 另一方面,我曾经在单用户环境(我)中使用 Access 作为 MySQL 的前端。这是一次非常不愉快的体验,我无法想象有两个用户会变得更好。 |
最新内容
相关内容
python如何执行python文件
python如何执行python文件,代码,培训,文件,程序,命令,模式,事半功倍,后缀,文本,以上,用文本编辑器写Python程序,然后保存为后缀为.py的文件,就python怎么生成xml文件
python怎么生成xml文件,数据,培训,设计,标准,文件,标记,语言,实例,模块,宗旨,用python内置的xml.dom可以对xml文件进行解析处理。什么是xml?Xpython包和文件夹有什么区别
python包和文件夹有什么区别,培训,单位,公共,文件夹,显卡,模块,大小,字节,剩余,实例,python包和文件夹有什么区别1、一个或多个文件夹组成一python不同大小文件的复制方法
python不同大小文件的复制方法,培训,文件,内容,大小,方法,顺序,以上,教程,更多,python不同大小文件的复制方法1、小文件复制,打开一个已有文python脚本如何指定文件
python脚本如何指定文件,培训,文件,脚本,参数,赋值,变量,路径,实例,以上,需求,python脚本如何指定文件1、说明(1)dest=files,是说将命令行中,--pythonos怎样处理系统文件
pythonos怎样处理系统文件,系统,培训,环境,代码,文件,环境变量,模块,操作系统,类型,代表,pythonos怎样处理系统文件1、获取系统类型对代码进pythonshutil有哪些操作文件的方法
pythonshutil有哪些操作文件的方法,名称,分析,培训,文件,操作,方法,函数,路径,以上,目标,pythonshutil有哪些操作文件的方法1、使用函数shuti关于数据库:将图像存储在数据库中-
关于数据库:将图像存储在数据库中-是或否?,关于数据库:将图像存储在数据库中-是或否?,位置,图像,应用程序,文件系统,Storing Images in D关于C#:将二进制文件读入结构
关于C#:将二进制文件读入结构,关于C#:将二进制文件读入结构,读取,数据,文件,二进制,Read binary file into a struct我正在尝试使用C#读取在性能开始下降之前,MySQL数据库能
在性能开始下降之前,MySQL数据库能达到多少?,在性能开始下降之前,MySQL数据库能达到多少?,性能,数据库,数量,什么时候开始,How big can a关于sql server:由多个用户编辑数据
关于sql server:由多个用户编辑数据库记录,关于sql server:由多个用户编辑数据库记录,服务,应用程序,规范化,用户,Editing database reJavaScript 文件名命名约定规定
JavaScript 文件名命名约定规定,JavaScript,文件名,命名,约定,规定,JavaScript,,JavaScript 文件名命名约定规定在 HTML 中加载 Jav