it-swarm.com.ru

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

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

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

68
George Bailey

Вы хотите конвертировать mdb в mysql (прямой перевод в mysql или mysql dump)?

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

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

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

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

68
Teson

Если у вас есть доступ к linux box с установленным mdbtools, вы можете использовать этот скрипт Bash Shell (сохранить как 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

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

37
Nicolay77

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

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

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

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

Вот модифицированный скрипт (сохраните в 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
24
mikkom

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

Работает нормально и экспортирует все отношения в MySQL.

enter image description here

7
Ivan Cachicatari

Попробуйте Данные Wizard для MySQL . Это инструмент для преобразования структуры и данных из любого ADO-совместимого источника (например, MS Access) в базы данных MySQL См. краткое руководство по строкам подключения для создания строки подключения к вашему файлу MS Access.

5
Tihonov Eugene

Попробуйте Службы преобразования данных от Microsoft

5
user715990

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

4
Michael Pryor

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

$ homebrew install mdbtools

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

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

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

4
Egor Guriyanov

Я использовал SQLYog Ultimate для импорта данных из файла MDB, это был очень простой процесс.

вам может понадобиться установить эти средства поддержки.

Движок базы данных MS Access

и скачайте SQLYog Ultimate ниже

Выберите SQLYog, вы можете использовать пробную версию для этого

2
Harsha

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

  1. Загрузить ACCDB MDB Explorer http://accdb-mdb-Explorer.en.softonic.com/mac
  2. Откройте файл MDB
  3. Экспортировать как SQL
  4. Импортируйте в MySQL, используя MySQL Workbench.
1
Dilip Rajkumar

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

1
petednz - fuzion

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

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

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

0
barakadam

Я пытался https://www.rebasedata.com/convert-mdb-to-mysql-online и это работает довольно хорошо.

Онлайн решение без необходимости регистрации.

0
SandroMarques