Подтвердить что ты не робот

Как преобразовать файл MDB (Access) в MySQL (или простой файл SQL)?

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

Я бы ожидал, что даже файл дампа MSSQL по-прежнему будет содержать рабочие команды SQL, но я ничего не знаю о MSSQL, пожалуйста, дайте мне знать.

4b9b3361

Ответ 1

Вы хотите преобразовать mdb в mysql (прямая передача в mysql или mysql dump)?

Попробуйте программное обеспечение под названием Доступ к MySQL.

Доступ к MySQL - небольшая программа, которая преобразует базы данных Microsoft Access в MySQL.

  • Интерфейс мастера.
  • Перенос данных непосредственно с одного сервера на другой.
  • Создайте файл дампа.
  • Выберите таблицы для передачи.
  • Выберите поля для передачи.
  • Переносить защищенные паролем базы данных.
  • Поддерживает как общую безопасность, так и безопасность на уровне пользователя.
  • Дополнительная передача индексов.
  • Дополнительная передача записей.
  • Дополнительная передача значений по умолчанию в определениях полей.
  • Определяет и переносит типы полей автоматического номера.
  • Интерфейс командной строки.
  • Простая установка, удаление и обновление.

См. вышеупомянутую ссылку для пошагового руководства со скриншотами.

Ответ 2

Если у вас есть доступ к Linux-модулю с установленным mdbtools, вы можете использовать эту оболочку Bash script (сохранить как mdbconvert.sh):

#!/bin/bash

TABLES=$(mdb-tables -1 $1)

MUSER="root"
MPASS="yourpassword"
MDB="$2"

MYSQL=$(which mysql)

for t in $TABLES
do
    $MYSQL -u $MUSER -p$MPASS $MDB -e "DROP TABLE IF EXISTS $t"
done

mdb-schema $1 mysql | $MYSQL -u $MUSER -p$MPASS $MDB

for t in $TABLES
do
    mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t | $MYSQL -u $MUSER -p$MPASS $MDB
done

Чтобы вызвать его, просто назовите его следующим образом:

./mdbconvert.sh accessfile.mdb mysqldatabasename

Он будет импортировать все таблицы и все данные.

Ответ 3

Я изменил script на Nicolay77, чтобы вывести базу данных в stdout (обычный способ unix-скриптов), чтобы я мог выводить данные в текстовый файл или передавать его в любую программу, которую я хочу. Результирующий script немного проще и работает хорошо.

Некоторые примеры:

./to_mysql.sh database.mdb > data.sql

./to_mysql.sh database.mdb | mysql destination-db -u user -p

Ниже приведен модифицированный script (save to to_mysql.sh)

#!/bin/bash
TABLES=$(mdb-tables -1 $1)

for t in $TABLES
do
    echo "DROP TABLE IF EXISTS $t;"
done

mdb-schema $1 mysql

for t in $TABLES
do
    mdb-export -D '%Y-%m-%d %H:%M:%S' -I mysql $1 $t
done

Ответ 4

Бесплатные инструменты базы данных не экспортируют таблицу RELATIONSHIPS, , но вы можете использовать это: преобразование MS Access в MySQL с отношениями

Прекрасно работает и экспортирует все отношения в MySQL.

enter image description here

Ответ 6

Пользователи OSX могут использовать Nicolay77 или mikkom, которые используют утилиту mdbtools. Вы можете установить его через Homebrew. Просто установите ваш доморощенный и затем идите

$ homebrew install mdbtools

Затем создайте один из сценариев, описанных парнями, и используйте его. Я использовал mikkom один, преобразовал все мои файлы MDB в SQL.

$ ./to_mysql.sh myfile.mdb > myfile.sql

(кстати, содержит более 1 таблицы)

Ответ 8

Мы использовали ESF Database Convert много раз для этой цели. DTS обычно был слишком ненадежным. И рекомендации на странице MySQL были крайне устаревшими.

Ответ 10

Я использую Mac, я делаю это для преобразования;

Ответ 11

Этот инструмент для Mac MDB/ACCDB Viewer работал хорошо для моих нужд. Бесплатная пробная версия позволила мне доказать, что все было сделано, и экспортировала половину всех строк. Полная версия требовалась для того, чтобы экспортировать все экспортированные db/таблицы.

Ответ 12

Если вы не слишком озабочены конфиденциальностью файлов .mdb, которые хотите конвертировать, пожалуйста, знайте, что этот сайт позволил мне восстановить две 15-летние базы данных доступа .mdb Access (помните старые времена, когда ASP правил web?) всего за две минуты: http://www.mdbopener.com/

Базы данных были преобразованы в файлы Excel с одним листом для каждой таблицы. Только то, что мне было нужно. Не удалось быстрее восстановить мои (очень) старые данные...

Идентификаторы, хранящиеся в каждой таблице, были такими же легкими, как и все, что можно было бы снова преобразовать в mysql (после сохранения в формате CSV) - снова, всего за несколько минут.