Миграция с MS SQL на MySQL: SQLOLEDB? Ошибка входа в комплект миграции? - PullRequest
0 голосов
/ 14 июня 2009

Я был назначен ответственным за перенос сайта клиента MS SQL / ASP на PHP / MYSQL. У меня нулевой опыт работы с MS SQL.

Я пытаюсь найти лучший способ перенести текущие данные в MySQL, чтобы я мог начать разработку PHP.

Некоторые детали:

  • Я скачал SQL Server Mangement Studio Express. Я нашел следующую строку в файле подключения:

    MM_connCompanyName_STRING = "поставщик = SQLOLEDB; источник данных = IP_ADDRESS; база данных = DATABASENAME; uid = USERNAMEpwd = ПАРОЛЬ;"

  • Используя IP, имя пользователя и пароль из этой строки, я мог успешно подключиться с помощью Studio Express.

  • Я скачал MySQL Migration Toolkit и ввел ту же информацию, но получаю следующую ошибку:

    Подключение к исходной базе данных и получение имен схем. Инициализация драйвера JDBC ... Класс драйвера MS SQL JDBC Driver Открытие соединения ... Соединение jdbc: jtds: sqlserver: // IP_ADDRESS: 1433 / DATABASENAME; пользователь = ИМЯ ПОЛЬЗОВАТЕЛЯ; пароль = ПАРОЛЬ; "; charset = utf-8; домен = Не удалось получить список имен схем (ошибка: 0). ReverseEngineeringMssql.getSchemata: сбой входа для пользователя 'USERNAME'.

  • У меня нет прав администратора или физического доступа к текущему серверу SQL. Я попытался выполнить некоторые операции экспорта через Studio Express, но он сохраняет их в файловой системе, к которой у меня нет доступа.

  • Я могу связаться с текущим / старым веб-мастером, но поскольку он больше не работает в компании, его ответы медленные и обычно бесполезные. Так что тут никакой помощи ...

  • Бывший администратор прислал мне файл MDF ... не знаю, что с этим делать.
  • Я нашел это примечание над информацией о соединении на текущем сервере (если это что-то значит):

'это соединение используется, потому что ODBC вызывал странные ошибки, переход на OLEDB исправил их

Мои вопросы:

  1. Любая идея, почему это может произойти сбой с теми же учетными данными, которые работают со Studio Express? Я предполагаю, что это как-то связано с драйвером, но я не знаю, что делать дальше.
  2. Есть ли лучший / более простой / эффективный способ переноса этих данных? (Я надеюсь, что я не получаю инструкции SELECT * в Studio Express и не копирую / вставляю данные в Excel ... пожалуйста, боже, нет)

Заранее спасибо за помощь.

Ответы [ 2 ]

1 голос
/ 17 июня 2009

Eww, это будет страшно (строка подключения указывает, что это был инструмент, сгенерированный из Dreamweaver, но это никогда не хороший знак).

Есть идеи, какая версия SQL Server? Вы должны быть в состоянии выбрать @@ VERSION. 10.x - это 2008, 9.x - это 2005, а 8.x - это 2000. Если это 7.x запущено.

Файл MDF является фактической базой данных. На вашем месте я бы купил версию SQL 2005 для разработчиков (или 8, если это 2008 год, что маловероятно), он будет стоить 99 долларов или около того.

Это даст вам возможность локально установить БД, ПОДКЛЮЧАЯ файл MDF. Получив локально выполняемую копию, вы можете использовать инструменты ETL SQL Server с драйверами ODBC MySql для повторной отправки данных в MySql.

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

Я считаю, что вы можете экспортировать данные из MSSQL, выбирая различные диалекты SQL; Я считаю, что есть один, который достаточно совместим с MySQL. Конечно, это не решит всех ваших проблем, потому что, хотя вы можете получить структуру должным образом, хранимые процедуры и триггеры и тому подобное потребуют немного больше работы. Но это должно начать вас.

...