将 Access 数据库与 Mysql Server 链接并使用 Access 作为前端 [表问题]

Posted

技术标签:

【中文标题】将 Access 数据库与 Mysql Server 链接并使用 Access 作为前端 [表问题]【英文标题】:Link Access Database with Mysql Server and Use Access as Frontend [Table Issue] 【发布时间】:2013-07-28 00:28:34 【问题描述】:

我正在开发一个已经有访问数据库(表、查询等)和前端的访问应用程序。我试图用 mysql 链接访问现有的数据库表。所以,到目前为止我所做的是,我已经使用 ODBC 成功地将访问表与 mysql 链接起来。我对将访问表与 mysql db 链接的理解是,这样做,我将拥有与 mysql 链接的相同的“旧”访问表,但我错了。相反,在链接之后,我得到了一个与 mysql 数据库链接的新表(字段与旧表相同)。

http://i.imgur.com/mfSF5hR.png [查看此链接显示旧的“访问”表和新的“链接”表]

例如,我在访问数据库中有一个“演员”表(在链接之前),在它之后我有 2 个表。一个是旧的访问“Actor”表,另一个是名为“Actor1”的新链接表。因此,如果我在旧访问表中进行更改,mysql 中的表不会更改,但是当我在新链接表中进行更改时,即 'Actor1' 更改也会在 mysql 表中发生。

这里的问题是我的前端表单/查询正在使用我的旧访问表,那么有什么方法可以使用新的“链接”表而不在前端进行更改?

提前致谢。

【问题讨论】:

我构建的唯一 MySQL/Access 解决方案我使用纯 ADO 处理所有内容,没有链接表。如果您想使用 ODBC 链接表,我认为 SQL Server Express 是一个更好的选择。你至少应该能够让这个工作,但你可能会遇到很多陷阱和警告。其中一些可能是表演的终结者。 阿汉!实际上,我们已经有一个访问应用程序(前端和访问数据库),它在过去 9-10 个月内一直在使用。但是现在我们认为我们应该转移到 mysql,所以我找到了 ODBC 的解决方案来连接访问表和 mysql。无论如何,您是说使用此解决方案不是一个好习惯?请确认 !使用它可能会出现哪些严重问题?我在 Access 方面没有太多经验! 在通过 ODBC 使用 MySQL 和 Access 时有许多关于奇怪问题的问题。看到这个帖子:***.com/questions/5842/…然后看看这些问题:***.com/questions/tagged/… 感谢您的回答和建议。我会调查这件事。 :) 【参考方案1】:

您只需重命名 Linked MySQL 表(仅在 Access 中重命名链接),使其与您之前在 Access 中用于同一个表的名称完全匹配。这样您就不必更改表单、查询、报告。

在本地表和链接表之间的 Access 中不会发生任何魔法。移动数据、确保 MySQL 表按照您想要的方式设计、维护链接、删除旧的 Access 表等仍由您决定。

【讨论】:

抱歉,我没有提到我尝试将链接表名称重命名为与旧的相同并删除旧的访问表,但这不起作用。当我尝试通过表单在表中插入数据时出现错误“ODBC -- 在链接表'test'上插入失败”。总之谢谢。至少你让我确信我正朝着正确的道路前进。 (那个重命名的东西) 你能用这些信息更新你的问题吗?听起来您的实际问题是您的 ODBC 链接表不可更新。是否可以直接在 Access 中打开链接表并在其中键入信息,然后移动到不同的记录?当你尝试这个时,你会得到同样的错误吗? 感谢@HK1 的帮助。实际上,该问题是由于我的 SQL Db 表中的问题造成的。意味着,当我通过 ODBC 将访问表导出到 SQL 中时,属性、数据等所有内容都可以正常导出,但 PK 和自动增量等内容却没有。所以我不得不去mysql表并手动更新PK和AI。

以上是关于将 Access 数据库与 Mysql Server 链接并使用 Access 作为前端 [表问题]的主要内容,如果未能解决你的问题,请参考以下文章

mysql和access的区别是啥?

如何将 MS Access 数据库与架构一起导出?

如何将数据库从 MS access 2007 导出到 MySQL? [关闭]

如何将access数据库 导入到 navicat for MySQL 中

插入数十万行时,MySQL 与 MS Access 相比非常慢

将 mySQL 和 MS access DB 用于只有一个数据表的 java 应用程序 [关闭]