mysql - 将 Ms. Access 数据库迁移到 MySQL 时逆向工程选择架构错误

标签 mysql database ms-access mysql-workbench

我正在尝试使用 MySQL Workbench 迁移向导将 Ms.Access 数据库迁移到 MySQL,并遵循此处的所有说明:

https://dev.mysql.com/doc/workbench/en/wb-migration-database-access.html

但是,我在逆向工程选择的架构中不断收到错误消息(参见图 10.29),并收到很大的错误消息日志。通读后,我发现以下三个基本错误消息:

  1. 警告:迁移:reverseEngineerTablePK:列 Transactions.ID 已更改为 NOT NULL,因为它是主键列。

  2. MsAccess reverseEngineerViews:无法对“交易”进行逆向工程。

  3. 迁移:无法从系统表中读取。您必须授予数据库所有系统表的 SELECT Access 权限。

如果我忽略此错误并按照说明进行到底,我会发现迁移已完成。我可以找到所有表格,但找不到查询、表单、报告和宏。此外,一些表缺少主键。

有人知道如何处理这个问题吗?或者我应该采取其他方法将我的 ms.access 数据库迁移到 MySQL?

提前谢谢您。

最佳答案

您无法将 ms access 数据库完全迁移到 MySQL。句号。 Access 数据库是数据、GUI 内容(表单、报告)和宏/脚本的混合体。

只有数据可以迁移,GUI 的东西和宏/脚本不能,因为 MySQL 纯粹是一个数据库产品。它绝对没有任何 GUI 东西,也不支持 Access 宏,也不支持 VBA。

对于查询,链接文档说默认设置下不会传输 View (ms access 中的查询或多或少与 MySQL 中的 View 相同)。即使他们转移了,那么你仍然需要编写他们的代码,他们没有自动迁移。这是有道理的,因为 ms access 和 MySQL 具有不同的功能和 sql 语法。

您还需要授予对所有系统表的 Access 权限,而不仅仅是关系表。 SQLyog 有一个 good guidance here关于如何在不同版本的 MS Access 中完成此操作。 (不幸的是,它太大且复杂,无法复制其内容。)

总而言之,MySQL Workbench的ms access迁移功能几乎把所有能自动迁移的东西都迁移了。

关于mysql - 将 Ms. Access 数据库迁移到 MySQL 时逆向工程选择架构错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45030131/

相关文章:

sql - 如何仅将唯一数据插入 Access 数据库

php - 对高度动态社交网站的基于 PHP 的搜索引擎的建议和偏好?

php 绑定(bind)数组到 IN()

mysql - 将mysql文件导入access数据库

mysql - 把一张 table 拆成几张小 table

database - 如何创建数据库的 MongoDB 转储?

ms-access - 连接表并显示表一张表上的所有行,但当我在其中使用条件时不显示

php - 代码点火器 : how to get process data with ajax and csrf

mysql - 多重计算查询

php - mysql查询3个表