MySQL / 10. Импорт и экспорт данных

Обмен данными между MySQL и Microsoft Access

Задача
Вы хотите осуществлять обмен информацией между MySQL и Access.

Решение
Чтобы использовать информацию, хранящуюся в MySQL, установите соединение с сервером MySQL непосредственно из Access. Чтобы передать данные из Access в MySQL, используйте утилиту, которая может выполнять прямую передачу данных, или экспортируйте таблицы из Access в файлы и импортируйте файлы в MySQL.

Обсуждение
И MySQL, и Access понимают ODBC, так что вы можете соединиться с MySQL прямо из Access. Установив ODBC-соединение, Access становится внешним интерфейсом, через который вы можете использовать базу данных MySQL. Много полезной информации можно найти на сайте mysql.com в разделе, посвященном MyODBC:

http://www.mysql.com/products/myodbc/

Замечательное описание процедур настройки ODBC и соединения из Access с MySQL по ODBC приведено в статье В. Дж. Гилмора (W. J. Gilmore) на сайте DevShed:

http://www.devshed.com/Server_Side/MySQL/ODBC/

Если ваши таблицы хранятся в Access, а вы хотите перенести их в MySQL, необходимо создать в MySQL таблицы и импортировать данные Access в эти таблицы. Есть пара хороших бесплатных инструментов, которые могут вам помочь: DBTools и MySQLFront. Они могут исследовать структуру таблиц в базе данных Access, создать соответствующие таблицы в MySQL и скопировать туда данные.

Можно также экспортировать таблицы Access в файлы, затем импортировать эти файлы в MySQL. (Это необходимо, если, например, сервер MySQL работает на другом хосте, который не разрешает устанавливать соединения с вашей машиной под Windows.) Если вы пойдете именно этим путем, вам следует подумать о выборе формата файла, преобразовании формата дат и о том, как создать таблицы MySQL, если они еще не существуют. В этом вам могут помочь сценарии, описанные ранее в этой главе (такие как cvt_file.pl, cvt_date.pl и guess_table.pl). Процедура импорта таблицы Access в MySQL может быть, например, такой:

1. Экспортировать таблицу из Access в какой-то текстовый формат, возможно, вместе с заголовками столбцов. Если вам нужно будет преобразовывать файл при помощи утилит, которым требуется на входе файл в формате с символами табуляции в качестве разделителя и символом перевода строки в качестве признака конца строки, наиболее разумным будет экспорт именно в такой формат.

2. Если таблица содержит даты, и вы не экспортируете их в формат ISO, необходимо будет преобразовать их для MySQL. Можно воспользоваться утилитой cvt_date.pl.

3. Если таблица MySQL, в которую вы планируете импортировать данные Access, не существует, нужно создать ее. Используйте утилиту guess_table.pl для формирования предложения CREATE TABLE.

4. Импортировать файл данных в MySQL при помощи LOAD DATA или mysqlimport.

Статьи по MySQL на эту тему:

Импорт XML в MySQL
Обмен данными между MySQL и FileMaker Pro
Обмен данными между MySQL и Microsoft Excel
Экспорт результатов запроса в XML

Вернуться в раздел: MySQL / 10. Импорт и экспорт данных