MySQL дамп .sql сценарий и импорт в Apache Derby - PullRequest
1 голос
/ 20 сентября 2010

Таким образом, предположительно mysqldump может экспортировать в ANSI-совместимый формат , так что вы можете импортировать в базы данных других поставщиков.

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

Что-то мне не хватает в mysqldump? Пробовал ddlutils , но не смог добиться прогресса после шага 3 с этими документами , которые кажутся устаревшими.

У меня есть другие варианты?

Ответы [ 2 ]

1 голос
/ 21 сентября 2010

Параметр mysqldump --compatible=ansi не создает сценарий SQL, который полностью совместим с ANSI, он просто пытается получить результат, который более совместим с ANSI: " Создайте выходные данные, более совместимые с другими системами баз данных или со старыми серверами MySQL. "

К сожалению, синтаксис SQL, поддерживаемый каждой базой данных, немного отличается. SQL является относительно слабым стандартом, намного слабее, чем Javascript или даже C. Некоторые базы данных поддерживают функции совместимости, такие как MySQL, или даже режимы совместимости (отказ от ответственности: я главный автор H2), но даже это иногда недостаточно.

У вас есть несколько вариантов: вы можете изменить сгенерированный сценарий SQL вручную или использовать другой инструмент для копирования структуры / данных таблицы. Одним из таких инструментов является SQuirreL DB Copy Plugin (я на самом деле никогда не использовал его, но, как я слышал, он работает хорошо).

0 голосов
/ 06 апреля 2011

Если вы можете экспортировать данные в формате CSV или что-то подобное, вы можете использовать процедуры импорта данных Derby для импорта ваших данных: http://db.apache.org/derby/docs/10.7/ref/rrefimportproc.html

...