Импорт .sql в MS Access с использованием OBDC - PullRequest
0 голосов
/ 07 сентября 2011

В настоящее время у меня есть база данных в MySQL, которую я хотел бы импортировать в MS Access.

Возможно ли это сделать, сохранив все отношения нетронутыми (т.е. без экспорта в .csv или с помощью ODBC)?

Я нуб в этой области, поэтому любая помощь очень ценится.

Спасибо.

Ответы [ 6 ]

1 голос
/ 07 сентября 2011

Вам необходимо решить две разные проблемы:

  1. Создание пустой базы данных MS Access со структурой, соответствующей структуре базы данных MySQL.

  2. Извлечение данных из MySQL и загрузка их в MS Access.

Это непросто, потому что разные базы данных SQL предлагают разные структурные особенности, разные типы данных и так далее.Чем сложнее вы используете MySQL, тем больше вероятность того, что во время преобразования вы столкнетесь с каким-то ограничителем показа (например, Access вообще не поддерживает триггеры).И наоборот, если вы используете MySQL в качестве простого хранилища данных, преобразование может оказаться довольно простым.

Чтобы получить базу данных MS Access с той же структурой, что и у вашей базы данных MySQL, лучше всего найти определение базы данных./ Диаграмма инструмент, который предлагает обратный инжиниринг и поддерживает как MySQL и MS Access.Используйте его, чтобы преобразовать базу данных MySQL в диаграмму базы данных, затем измените базовую базу данных на MS Access и используйте инструмент для создания базы данных.

Извлечение Dezign Для баз данных which (onв любом случае) предлагает функции, которые вам понадобятся для этого.

Для прокачки данных имеется любое количество инструментов.Этот вид операции обычно называется ETL (извлечение, перевод, загрузка).

1 голос
/ 07 сентября 2011

Вы имеете в виду SQL Server? Хорошей отправной точкой может быть проверка служб интеграции SQL Server (SSIS), которые можно использовать для такой передачи данных.

Google также будет полезен, проверьте первый результат:

http://support.microsoft.com/kb/237980

Кстати, вы сказали «.sql» в своем вопросе: файл .SQL - это файл сценария, который может делать что угодно, от создания базы данных, вставки данных, удаления таблицы, удаления данных или получения необходимых разрешений, вызывать системные процедуры и перезагружать машину, форматировать диск, отправлять электронную почту. Просто для справки .SQL-файлы не являются форматом хранения, используемым SQL Server.

0 голосов
/ 11 сентября 2013

Вы можете попробовать использовать это: Преобразование MS Access в MySQL с отношениями

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

0 голосов
/ 08 сентября 2011

Если вы создаете ODBC DSN, вы можете использовать TransferDatabase для импорта из базы данных MySQL.Вы можете сделать это вручную с помощью команды GET EXTERNAL DATA (или чего-либо другого в A2007 / A2010) и посмотреть, насколько хорошо это работает.Он не будет правильно определять все типы данных, но вы могли бы провести некоторый массаж и, вероятно, приблизить его к тому, что будет работать лучше.их напрямую?То есть зачем вам вообще нужен импорт в Access?

0 голосов
/ 07 сентября 2011

Хотя вы можете записать схему своей базы данных в файлы сценариев с помощью чего-то вроде SQLyog, вы обнаружите, что синтаксис достаточно различается от базы данных к базе данных (от MySQL до Access, в вашем случае), что вы не можете напрямую применять сценарии.

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

Когда обе системы представляют собой одну и ту же базу данных, существуют инструменты, которые могут выполнять сравнение и генерацию скриптов (TOAD для MySQL и RedGate Compare для Microsoft SQL)но они не выполняют кросс-работу с базами данных (по крайней мере, не те, о которых я знаю).

0 голосов
/ 07 сентября 2011

Доступ: запустить запрос.Обязательно адаптируйте код SQL, поскольку каждая СУБД имеет свой собственный синтаксис (несмотря на то, что SQL является стандартом ANSI).

...