10.4 Миграция из Microsoft Access
Эта функция была добавлена в MySQL Workbench 6.2.0.
Общие сведения
Требуется Microsoft Windows, так как драйверы Microsoft Access ODBC доступны только под Windows. Что касается целевого сервера MySQL, он может находиться на том же локальном компьютере или в другой части вашей сети.
Подготовка базы данных Microsoft Access к миграции
Microsoft Access хранит информацию о связи/внешних ключах во внутренней таблице под названием MSysRelationships. Эта таблица защищена от чтения даже для пользователя Admin, поэтому если вы попытаетесь выполнить миграцию без предоставления доступа к ней, вы получите ошибку такого типа:
[42000] [Microsoft][ODBC Microsoft Access Driver] Record(s) cannot be read; no read permission on 'msysobjects'. (-1907) (SQLExecDirectW)
Шаги по предоставлению прав на чтение роли Admin (используя Microsoft Access 2007) сводятся к следующему:
Откройте базу данных в Microsoft Access.
-
В ленте щелкните , чтобы открыть консоль Visual Basic (VB). На следующем рисунке показано расположение этой кнопки в области макросов.
Рисунок 10.20 Поиск инструмента Visual Basic для базы данных макросов
Для подтверждения входа в систему как пользователя "Admin" найдите панель Непосредственный и введите "? CurrentUser", затем нажмите . В панели под "? CurrentUser" должно отобразиться "Admin" (см. следующий рисунок).
-
Также в панели Непосредственный введите следующую команду для предоставления доступа:
CurrentProject.Connection.Execute "GRANT SELECT ON MSysRelationships TO Admin"Рисунок 10.21 GRANT SELECT ON MSysRelationships TO Admin
Закройте приложение Microsoft Access.
Запуск мастера миграции MySQL Workbench
Из основного экрана MySQL Workbench вы можете запустить мастер миграции, нажав на запуск миграции базы данных ( ) в боковой панели Workbench или выбрав , а затем в главном меню. Как показано на следующем рисунке, будет открыта новая вкладка с отображением страницы Обзор мастера миграции.
Рисунок 10.22 Страница Обзор миграции
Настройка драйверов ODBC
Чтобы убедиться, что драйвер ODBC установлен, нажмите на странице обзора миграции MySQL Workbench, чтобы открыть системный инструмент ODBC. Затем выберите вкладку Драйверы (см. следующий рисунок).
Рисунок 10.23 Проверка драйверов ODBC для поддержки Access
MySQL Workbench имеет 64-разрядный исполняемый файл. Драйверы ODBC, которые вы используете, должны иметь такую же архитектуру, как и двоичные файлы MySQL Workbench, которые вы используете. Если во время миграции возникает ошибка ODBC о «несоответствии архитектуры между драйвером и приложением», вы установили неправильную версию MySQL Workbench.
На вкладке Пользовательский источник данных нажмите , чтобы создать источник данных для вашего файла базы данных. Как показано на следующем рисунке, для примера базы данных northwind был создан новый источник данных.
Рисунок 10.24 Добавление нового источника данных
Настройка параметров источника
Нажмите на странице Обзор, чтобы перейти на страницу Выбор источника. Здесь вам нужно указать информацию о базе данных Access, из которой вы осуществляете миграцию, используемый драйвер ODBC и параметры подключения к Access.
Откройте раскрывающийся список Система базы данных, чтобы увидеть список поддерживаемых СУБД, и выберите Microsoft Access из списка. Ниже него есть другой раскрывающийся список, названный Сохранённые соединения. В нём перечислены сохранённые настройки соединения для этой СУБД. Вы можете сохранять соединения, установив флажок в нижней части страницы, а также указав имя для сохранённого соединения.
В следующем раскрывающемся списке выбирается Метод подключения. На этот раз мы выберем Источник данных ODBC из списка. Это позволяет выбрать предварительно настроенные источники данных DSN, которые вы наконфигурировали в вашей системе.
В раскрывающемся списке DSN будут все DSN, которые вы определили в вашей системе. Выберите тот, который вы создали для мигрируемой базы данных Access.
В поле Набор символов по умолчанию вы можете выбрать набор символов вашей базы данных (см. следующий рисунок). Если ваша версия Access использует символы западного/латинского алфавита, вы можете оставить значение по умолчанию cp1252. Однако, если вы используете локальную версию Access, например, японскую, вы должны ввести правильный набор символов, используемый вашей версией Microsoft Office, в противном случае данные будут скопированы некорректно.
Рисунок 10.25 Выбор источника Access
Наконец, нажмите , чтобы проверить, можно ли установить соединение ODBC. Если вы ввели правильные параметры, вы увидите сообщение об успешном подключении.
Настройка параметров назначения
Далее, настройте параметры назначения (MySQL), определив параметры, которые подключаются к вашему экземпляру MySQL Server. После завершения нажмите , чтобы проверить определение соединения. На следующем рисунке показана вкладка Параметры.
Рисунок 10.26 Выбор целевой базы данных
Выбор объектов для миграции
Далее вы увидите процесс обратного проектирования выбранных объектов базы данных. На этом этапе мастер миграции получает соответствующую информацию об участвующих объектах базы данных (таких как имена таблиц, столбцы таблиц, первичные и внешние ключи, индексы, триггеры, представления и многое другое). Вам будет показана страница с отображением процесса, как показано на следующем рисунке.
Рисунок 10.27 Обратный инжиниринг источника
Подождите окончания процесса и убедитесь, что все прошло успешно. Далее, Объекты источника отображает список объектов, которые были получены и доступны для миграции. Он будет выглядеть примерно так, как показано на следующем рисунке.
Рисунок 10.28 Объекты источника
В предыдущем примере мастер миграции обнаружил объекты таблиц и представлений для нашей исходной базы данных. По умолчанию для миграции выбраны только объекты таблиц.
Вы также можете выбрать объекты представлений, но вам также потребуется предоставить соответствующий код эквивалента MySQL позже (автоматической миграции для них нет), поэтому в нашем примере представления не будут отмечены. То же самое относится к хранимым процедурам, функциям и триггерам.
Нажмите , чтобы настроить именно те объекты, которые вы хотите мигрировать, как показано на следующем рисунке.
Рисунок 10.29 Выбор объектов источника
Объекты справа будут мигрированы. Поле фильтра может фильтровать список (разрешены подстановочные знаки, как показано выше). С помощью кнопок со стрелками вы можете отфильтровать объекты, которые не хотите мигрировать. Перед продолжением очистите поле фильтра, чтобы проверить полный список выбранных объектов. В нашем примере мигрируются все объекты таблиц, поэтому все они находятся в списке Объекты для миграции, и флажок Мигрировать объекты таблиц установлен.
Просмотр предложенной миграции
На данном этапе мастер миграции преобразует выбранные объекты в эквивалентные объекты на целевом сервере MySQL, а также сгенерирует код MySQL, необходимый для их создания. Возможно, вам потребуется подождать, пока шаг Ручное редактирование отобразит начальную страницу, показанную на следующей фигуре.
Рисунок 10.30 Ручное редактирование: начальная страница
Комбо-поле Просмотр изменяет способ отображения мигрированных объектов базы данных (см. следующую фигуру). Нажмите , чтобы просмотреть и отредактировать сгенерированный код MySQL, соответствующий выбранному объекту. Кроме того, вы можете дважды щелкнуть строку в дереве объектов для редактирования имени объекта или дважды щелкнуть строку базы данных, чтобы изменить её имя.
Рисунок 10.31 Ручное редактирование: все объекты
Комбо-поле Просмотр также имеет опцию Сопоставления столбцов. Как показано на следующей фигуре, она отображает столбцы таблицы и позволяет просмотреть и исправить сопоставление типов столбцов, значений по умолчанию и других атрибутов.
Рисунок 10.32 Ручное редактирование: сопоставления столбцов
Создание объектов базы данных
Следующей страницей является Параметры создания целевого объекта, как показано на следующей фигуре.
Рисунок 10.33 Параметры создания целевого объекта
Используйте параметры создания целевого объекта для выполнения сгенерированного кода в целевой СУБД (ваш экземпляр MySQL со второго шага) или экспортируйте его в файл скрипта SQL. Оставьте как показано на предыдущей фигуре и перейдите к следующей странице. Сгенерированный SQL-код будет выполнен на целевом сервере MySQL. Вы можете отслеживать его прогресс на странице Создание схем, показанной на следующей фигуре.
Рисунок 10.34 Создание схем
После завершения создания схем и объектов вы можете перейти на страницу Результаты создания целевого объекта. Она предоставляет список созданных объектов и содержит любые возникшие ошибки при их создании. Она будет похожа на следующую фигуру.
Рисунок 10.35 Результаты создания целевого объекта
Вы можете редактировать код миграции в поле кода справа и сохранить изменения, нажав . Если были внесены изменения, вам всё равно необходимо пересоздать объекты с изменённым кодом, чтобы применить изменения. Это делается путём нажатия . В этом учебнике мы ничего не меняем, поэтому оставьте код как есть и перейдите к странице Настройка передачи данных.
Передача данных в базу данных MySQL
Следующий шаг — передача данных из исходной базы данных Access в вашу вновь созданную целевую базу данных MySQL. Страница «Настройка передачи данных» позволяет настроить этот процесс (см. следующую фигуру).
Рисунок 10.36 Настройка передачи данных
Здесь есть два набора параметров. Первый позволяет выполнить живую передачу и/или сохранить данные в пакетный файл, который можно выполнить позже. Другой набор параметров позволяет изменить этот процесс.
В этом руководстве используются значения параметров по умолчанию на этой странице, как показано на предыдущей фигуре. Затем данные передаются. На этом этапе соответствующая страница прогресса подтверждает выполняемые задачи (см. следующую фигуру).
Рисунок 10.37 Массовая передача данных
По окончании перейдите к следующей странице. Вам будет представлена страница отчета, обобщающая весь процесс. Теперь просмотрите и нажмите Готово, чтобы закрыть мастер.
Верификация
Теперь, когда база данных northwind успешно мигрирована, вы можете просмотреть результаты. Откройте редактор SQL, связанный с вашим экземпляром сервера MySQL, и выполните запрос к базе данных northwind. Например, выполните запрос, подобный SELECT * FROM
northwind.customers, который заполнит таблицу результатов, как показано на следующей фигуре.
Рисунок 10.38 Проверка результатов
© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/workbench-en/wb-migration-database-access.html