ПРИХОДИТЕ УЧИТЬСЯ НОВОЙ ПРОФЕССИИ ЛЕТОМ СО СКИДКОЙ ДО 70%Забронировать скидку

Конвертация MDB (Access) в MySQL или SQL файл: обход CSV

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для конвертации данных из формата MDB в MySQL вам предварительно потребуется экспортировать таблицы из Access в формат, совместимый с MySQL, например CSV или SQL. В программе Access выберите Внешние данные > Экспорт > ODBC-база данных. В результате вы получите SQL-файлы, которые затем можно использовать в MySQL или сразу экспортировать данные в формате CSV.

Пример экспорта данных из Access:

SQL
Скопировать код
CREATE TABLE `Клиенты` (
  `КодКлиента` INT, // Не стоит переживать, вы больше, чем просто номер.
  `НазваниеКомпании` VARCHAR(255), // Держимся в рамках разумной длины названий.
  ...
);

Затем импортируйте данные в MySQL, применяя следующую команду:

shell
Скопировать код
mysql -u myuser -p mydb < my_sql_file.sql

Укажите вместо myuser, mydb и my_sql_file.sql актуальные для вас значения. Проверьте также совместимость используемого синтаксиса SQL-файлов.

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Конвертация с применением специализированного программного обеспечения

Инструмент Access to MySQL значительно облегчает процесс переноса данных за счет использования мастера конвертации и предоставляет возможность прямой трансляции данных, избежав этапа работы с промежуточными файлами и созданий дампов.

Основные функции программы включают в себя:

  • Перенос указанных таблиц и их полей.
  • Преобразование баз данных, использующих пароли.
  • Сохранение индексов, существующих записей и значений по умолчанию.
  • Корректная обработка полей с автоинкрементом.

Для пользователей Linux доступен набор инструментов mdbtools, позволяющих осуществить прямую конвертацию MDB в MySQL без привлечения CSV.

Автоматизация процесса с помощью скриптов

bash-скрипт под названием to_mysql.sh способен автоматизировать процесс конвертации из MDB в MySQL, что позволяет сэкономить время. Для работы скрипты используют утилиты mdb-schema и mdb-export, для преобразования структуры базы данных и её данных в формат, понятный MySQL.

Рекомендации перед конвертацией

Перед началом процесса конвертации учтите следующие нюансы:

  • Удалите все существующие в MySQL таблицы, чтобы предотвратить конфликты совпадения имен.
  • Определите, какие именно таблицы требуют переноса, используя инструмент mdb-tables.
  • Для точного сохранения данных о времени и дате применяйте нужный формат в команде mdb-export.

Визуализация

Представим процесс перевода данных из MDB в MySQL в виде системы транспортировки:
MDB (🏙️): [Таблицы 🛢, Запросы 🛤, Формы 🚏, Отчёты 🏬]
Производим перевозку в:
MySQL (🌆): [Таблицы 🗄️, SQL-запросы 🚦]

Этапы конвертации: 🏙️ MDB 🚂🛤️🚂🌆 MySQL

  • 🚂: движок обработки данных
  • 🛤️: маршрут конвертации

В итоге получаем:
🌆 MySQL: [Новые таблицы 🗄️, Обработанные SQL-запросы 🚦]
Здесь данные надёжно доставляются и гармонично интегрируются в новую информационную среду.

Детальный разбор инструментов

Mdbtools — это набор инструментов, предназначенных для прямой конвертации. Установить их в OSX можно с помощью Homebrew. В его состав входят mdb-schema и mdb-export, что предотвращает необходимость использования промежуточных форматов.

Преимущества Mdbtools:

  • Генерация SQL-команд прямо из базы Access и благодаря mdb-to-mysql.
  • Облегчение процесса конвертации за счет обхода этапа с CSV.
  • Перенос и конвертация данных гибко в файл или другую программу.

Особенности в процессе конвертации

На стадии конвертации следует обратить внимание на некоторые сложности:

  • Несовпадение типов данных: Проверьте соответствие типов данных между Access и MySQL.
  • Кодировка символов: Кодировка текста в обеих системах должна быть совместимой для корректного избежания ошибок.
  • Конвертация макросов и VBA: Их прямая переносимость в MySQL отсутствует, потребуется доработка логики на стороне MySQL.

Полезные материалы

  1. GitHub – mdbtools/mdbtools
  2. MySQL Workbench Migration Wizard
  3. Access To MySQL
  4. MS Access to MySQL converter
  5. MySQL 8.0 Reference Manual
  6. Database Journal – Миграция с Microsoft Access на MySQL