Как вы переносите базу данных SqlServer на MySQL? - PullRequest
2 голосов
/ 06 февраля 2010

У меня есть база данных SqlServer, которую я хотел бы перенести на MySQL. Каков наилучший способ для этого. Вещи, которые необходимо перенести:

  • Таблицы (и данные)
  • FileStream → MySQL эквивалент?
  • Хранимые процедуры
  • Функции

Ответы [ 3 ]

5 голосов
/ 06 февраля 2010

Типы данных относительно похожи.

В MySQL нет эквивалента FileStream - файлы должны храниться как BLOB или в файловой системе, пока путь хранится в базе данных.

Миграция от TSQL означает:

  • В MySQL нет условия WITH - его придется преобразовать в производную таблицу / встроенное представление
  • Синтаксиса TOP нет - их необходимо преобразовать для использования LIMIT
  • В MySQL нет функции ранжирования / анализа - нельзя использовать ROW_NUMBER, RANK, DENSE_RANK или NTILE. См. эту статью для альтернатив .
  • Представления MySQL имеют заведомо ограниченную функциональность :
    • Оператор SELECT не может содержать подзапрос в предложении FROM.
    • Оператор SELECT не может ссылаться на системные или пользовательские переменные.
    • Внутри хранимой программы определение не может ссылаться на параметры программы или локальные переменные.
    • Оператор SELECT не может ссылаться на подготовленные параметры оператора.
    • Любая таблица или представление, указанные в определении, должны существовать. Однако после создания представления можно удалить таблицу или представление, на которое ссылается определение. В этом случае использование представления приводит к ошибке. Чтобы проверить определение представления для проблем такого рода, используйте оператор CHECK TABLE.
    • Определение не может ссылаться на таблицу TEMPORARY, и вы не можете создать представление TEMPORARY.
    • Любые таблицы, названные в определении представления, должны существовать во время определения.
    • Вы не можете связать триггер с представлением.
    • Начиная с MySQL 5.0.52, псевдонимы имен столбцов в операторе SELECT проверяются по максимальной длине столбца в 64 символа (а не по максимальной длине псевдонима в 256 символов).
  • Динамический SQL должен быть преобразован для использования Подготовленного оператора MySQL Синтаксис
2 голосов
/ 06 февраля 2010

A руководство / статья с некоторыми полезными советами доступна на официальном сайте разработчика MySQL.

0 голосов
/ 06 февраля 2010

Это не для слабонервных. Вот статья, которая объясняет, для чего вы:

http://searchenterpriselinux.techtarget.com/news/column/0,294698,sid39_gci1187176,00.html
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...