Проблема с SQL Server Migration Assistant
Начну с того, что я никоим образом не являюсь экспертом по PL/SQL или T-SQL, и я действительно знаю только основы, но меня попросили провести проект по переносу около 1700 пакетов процедур PL/SQL в T-SQL. Даже если бы я знал PL/SQL, лучше всего использовать автоматизированный инструмент, чтобы хотя бы покрыть большую часть перевода. Я использую Microsoft SQL Server Migration Assistant. После прочтения этой статьи. У меня сложилось впечатление, что можно конвертировать отдельные кусочки PL/SQL.
Когда я перевожу схему, она каждый раз дает мне 3 ошибки. Те же 3 ошибки. И в основном это не делает миграцию вообще. Просто кажется, что все это закомментировано?
Я просто хочу знать, что идет не так и почему не мигрирует. От второй ошибки у меня сложилось впечатление, что она не конвертирует, потому что ищет 'stage_sendup_nb', но ее нет в базе данных, потому что я только что вставил SQL в.
1 ответ
"Unparsed SQL" означает, что он не распознал оператор, который вы пытались преобразовать. Скорее всего, CREATE PROCEDURE не поддерживается для операторов SQL. Если у вас есть процедура для преобразования, лучше найти ее в разделе "Процедуры" и выполнить преобразование оттуда. Преобразование фрагмента очень ограничено, оно предназначено для преобразования одного или двух операторов, обычно это какой-то конкретный запрос, который вы хотите попробовать в перенастроенной БД (например, SELECT или UPDATE).
Любое преобразование SQL (включая процедуры и операторы SQL) зависит от правильных метаданных, доступных в Oracle. Таким образом, вам нужно подключиться к базе данных Oracle со всеми ссылочными таблицами, процедурами и так далее, чтобы преобразовать хотя бы одну процедуру. Таким образом, SSMA знает подробности о ссылочных объектах.