Если у вас нет собственной базы данных, как лучше конвертировать базу данных в MySQL? - PullRequest
3 голосов
/ 14 июня 2010

Я работаю в очень маленькой компании.Недавно я столкнулся с вопросом о том, существует ли хороший способ преобразовать частную базу данных в базу данных MySQL без владения собственным механизмом базы данных, например, если ему предоставляется большой файл базы данных Oracle (или выберите свой любимый формат закрытого механизма базы данных),но нет лицензии на ядро ​​базы данных Oracle, есть ли хороший, совершенно надежный способ преобразовать его в формат базы данных MySQL, который можно прочитать с помощью движка базы данных MySQL?Мой вопрос очень расплывчат в отношении того, какой частный формат является источником только потому, что было бы несколько источников, и похоже, что они будут «различными и разными».Я подозреваю, что не существует абсолютно надежного способа, особенно для широкого спектра проприетарных баз данных.Если есть несколько проприетарных форматов, для которых это возможно, мне все равно было бы интересно узнать, хотя «различные и разные», вероятно, являются реальной проблемой.Минимизация затрат, усилий и правильного преобразования являются ключевыми, поэтому я думаю, что это, вероятно, в списке невозможных.

-Джон

Ответы [ 3 ]

6 голосов
/ 14 июня 2010

Большинство коммерческих БД имеют пробную или ограниченную версию для загрузки, по крайней мере, этого должно быть достаточно для экспорта данных и схемы.

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

ps.Конечно, если у вас много хранимых процедур или пользовательский SQL, специфичный для Oracle, это повредит гораздо больше!

0 голосов
/ 15 июня 2010

Для Oracle вы можете посмотреть в Personal Edition (доступно только для Windows).С краткосрочной лицензией (например, на один год) это - недорогой [от приблизительно $ 100] способ для человека получить функциональность для обработки больших баз данных Oracle с полным набором функций.

Он лицензируется на однопользовательской основе, и определение пользователя довольно широко.Таким образом, вам не разрешено, например, распространять отчеты из базы данных Personal Edition среди множества людей (каждый будет считаться пользователем).Однократная миграция с Oracle на другую платформу должна быть в порядке.Повторное, регулярное извлечение, скорее всего, будет рассматриваться как часть процесса предоставления информации нескольким пользователям.

0 голосов
/ 14 июня 2010

Большинство баз данных (и поставщиков) поддерживают какие-то возможности экспорта SQL DDL / DML. Они могут не афишировать это громко, но это есть. MySQL и PostgresSQL оба имеют такую ​​возможность. У Microsoft есть Мастер публикации баз данных SQL Server . Oracle также имеет эту возможность. Возможно, вам удастся убедить ваш источник данных экспортировать данные, а не просто выгрузить их.

Все эти инструменты имеют ограничения, особенно когда речь идет о BLOB-объектах и ​​аналогичных типах данных. Экспорт данных обычно занимает больше времени, чем просто дамп, и результирующие файлы могут быть значительно больше. Преимущество заключается в том, что полученные сценарии SQL можно редактировать / преобразовывать / настраивать в соответствии с предпочтительным синтаксисом SQL вашей целевой базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...