0

I am trying to migrate Ms.Access database to MySQL by using MySQL Workbench Migration Wizard and follow all the instruction from here :

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

However, I keep getting an error message in Reverse Engineer Selected Schema (look at Figure 10.29) and get a big error message logs. After read through it, I find three essential error messages below:

  1. WARNING: Migration: reverseEngineerTablePK: column Transactions.ID was changed to NOT NULL because it's a Primary Key column.

  2. MsAccess reverseEngineerViews: Cannot reverse engineer view "Transactions".

  3. Migration: Could not read from System Tables. You must grant SELECT access on all system tables for the database.

If I ignore this error and follow the instructions to the end, I find that the migration is done. I can find all the tables but not the queries, forms, reports and macros. Moreover, some of the tables missing their primary key.

Is anyone know how to deal with this problem? Or should I do other ways to migrate my ms.access database to MySQL?

Thank you in advance.

3
  • You cannot fully migrate an ms access database to MySQL. Full stop. An access database is a mixture of data, GUI stuff (forms, reports), and macros / scripts. Only the data can be migrated, the GUI stuff and macros / scripts cannot, since MySQL is purely a database product. It absolutely does not have any GUI stuff and does not support Access macros, nor VBA. Commented Jul 11, 2017 at 9:15
  • As for the queries, the linked documentation says that by default settings the views are not transferred. Even if they are transferred, then you still need to write their code, there ss no automatic migration for them. This makes sense, since ms access and MySQL has different features and sql syntax. Commented Jul 11, 2017 at 9:21
  • @Shadow hi Shadow, thanks for the information. So, only table and queries that is possible to be migrated to MySQL? and Views in MySQL is same like Queries in Ms. Access? Commented Jul 11, 2017 at 9:28

1 Answer 1

1

You cannot fully migrate an ms access database to MySQL. Full stop. An access database is a mixture of data, GUI stuff (forms, reports), and macros / scripts.

Only the data can be migrated, the GUI stuff and macros / scripts cannot, since MySQL is purely a database product. It absolutely does not have any GUI stuff and does not support Access macros, nor VBA.

As for the queries, the linked documentation says that by default settings the views are not transferred (queries in ms access are more or less the same as views in MySQL). Even if they are transferred, then you still need to write their code, there is no automatic migration for them. This makes sense, since ms access and MySQL has different features and sql syntax.

You also need to grant access to all system tables, no just to the relationship table. SQLyog has a good guidance here on how to accomplish this in various versions of ms access. (Unfortunately, it is too big and complicated to copy its content over.)

All in all, the ms access migration feature of MySQL workbench is pretty much transfers everything that can be transferred automatically.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.