This topic describes how to import data from a MS Access (2003, 2007+) file.
Decide what table to import the data to:
For a new table:
On the Database menu, click Import Data. The Data Import wizard opens.
For an existing table:
If the Source data is protected with a password, the Open MS Access database dialog box appears where you should enter the password.
Data Import Wizard pages can slightly differ due to the product you have been using.
You can use a query for partial data import. Click Custom Query and edit the query. Click OK to save the changes.
Specify a Target MySQL connection, a database, a schema, and a table to import the data to. If you selected a table in Database Explorer before opening the Data Import wizard, the wizard will open with the predefined connection parameters of the selected table. To create or edit MySQL connections, click the corresponding buttons. Click Next.
See the Target columns in the top and the Source columns at the bottom of the wizard page. Click Source column fields and select required columns from the drop-down list.
To cancel mapping of all the columns, click Clear Mappings on the toolbar. To restore it, click Fill Mapping.
You should select at least one column with a primary key, otherwise some of import modes on the Modes wizard page will be disabled.
You can save the import settings as a template for future uses. Click the Save Template button on any wizard page to save the selected settings. Next time you should only select a template and specify a location of the Source data - all the settings will be already set. For more information, go to Saving and Using Templates topic.
If you try to import data from Access databases after MySQL server has closed the connection due to inactivity, the Lost connection to MySQL server during query message will appear.
To avoid such problem, view the wait_timeout server variable that defines the time in seconds the server waits for activity on a non-interactive connection before closing it by executing the following query:
show variables like wait_timeout
Then go to the Advanced tab of the Connection Properties dialog box, check the Keep connection alive checkbox and define the Ping timeout property so that its value is smaller than the value of the wait_timeout variable but greater than 0. This will keep the connection alive.
Another workaround is just to increase the value of the ‘wait_timeout’ variable to give a connection more time to be inactive before MySQL server closes it.
This is just the way the functionality works since MySQL server just closes a connection and doesn’t return any error code in such cases. So, in addition to the previously provided workarounds, you should check manually whether column types are set correctly when importing data.