MS Access Import

This topic describes how to import data from a MS Access (2003, 2007+) file.

  1. 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:

    • In Database Explorer, right-click a table and select Import Data on the shortcut menu. The Data Import wizard opens with predefined parameters: a PostgreSQL connection, a database, a schema, and a table to import the data to.


    • On the Database menu, click Import Data and select a required table on the Destination table wizard page.

  2. In the Source file tab, select the MS Access import format, specify a location of the source file, and click Next.

    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 tabs can slightly differ due to the product you use.

  3. Select a Source table or view. To quickly find them in the list, enter characters of a required name into the Filter field. The list will be filtered to show only those that contain such characters in their names.

    You can use a query for partial data import. Click Custom Query and edit the query. To save the changes, click OK.

  4. Specify a Target PostgreSQL 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 PostgreSQL connections, click the corresponding buttons. Click Next.

  5. Specify data formats for the Source data and click Next.
  6. Map the Source columns to the Target ones. If you are importing the data into a new table, dbForge Studio will automatically create and map all the columns. If you are importing into an existing table, only columns with the same names will be mapped, the rest should be mapped manually. (If no columns with the same name are found, they are mapped in succession - the 1st column in Source with the 1st column in Target, etc.)

    See the Target columns on top of the wizard page and the Source columns at the bottom. 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.

  7. If you are importing to a new table, you can edit the Target column properties by double-clicking them in the top grid. Select the Key check box for a column with a primary key and click Next.

    You should select at least one column with a primary key, otherwise, some of import modes on the Modes wizard page will be disabled.

  8. Select an import mode to define how dbForge Studio should import the data, and click Next.
  9. Select how dbForge Studio should handle errors during import and whether you want to get a log file with details about the import session.
  10. Click Import and see the import progress. dbForge Studio will notify you whether the import completed successfully or failed. To open the log file, click Show log file.
  11. To finish the import and close the wizard, click Finish.


You can save the import settings as a template for future uses. To save the selected settings, click Save Template on any wizard page. 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 the Saving and Using Templates.


If you try to import data from Access databases after PostgreSQL server has closed the connection due to inactivity, the Lost connection to PostgreSQL server during query message will appear.

To avoid such a 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, select the Keep connection alive checkbox and define 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 PostgreSQL server closes it.

This is just the way the functionality works since PostgreSQL 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.