Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Страница Преобразования диалогового окна Параметры проекта содержит параметры, которые настраивают процесс преобразования синтаксиса Oracle в синтаксис SQL Server.
Область преобразования доступна в диалоговом окне "Параметры проекта " и " Параметры проекта по умолчанию ":
Чтобы указать параметры для всех проектов SSMA, в меню "Сервис " выберите параметры проекта по умолчанию, выберите тип проекта миграции, для которого необходимо просмотреть или изменить из раскрывающегося списка " Целевая версия миграции ", а затем щелкните "Общие " в нижней части левой области и нажмите кнопку "Преобразование".
Чтобы указать параметры текущего проекта, в меню "Сервис " выберите пункт "Параметры проекта", а затем в нижней части левой области щелкните "Общие " и нажмите кнопку "Преобразование".
Встроенные функции и предоставленные пакеты
Срок | Определение |
---|---|
Преобразование функции COUNT в COUNT_BIG | Если функции COUNT , скорее всего, будут возвращать значения, превышающие 2 147 483 647, что равно 231-1, следует преобразовать функции в COUNT_BIG .Если выбрать Да, SSMA преобразует все случаи использования COUNT в COUNT_BIG .Если выбрать "Нет", функции останутся как COUNT . SQL Server возвращает ошибку, если функция возвращает значение больше 231-1.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Стандартный или полный режим: да Оптимистичный режим: нет |
Преобразование вызовов функции SUBSTR в вызовы функции SUBSTRING | SSMA может преобразовать вызовы функций Oracle SUBSTR в вызовы функций SQL Server substring в зависимости от количества параметров. Если SSMA не может преобразовать SUBSTR вызов функции или количество параметров не поддерживается, SSMA преобразует SUBSTR вызов функции в пользовательский вызов функции SSMA.Если выбрать "Да", SSMA преобразует SUBSTR вызовы функций, использующие три параметра в SQL Server substring . Другие SUBSTR функции будут преобразованы для вызова пользовательской функции SSMA.Если выбрать «Нет», SSMA преобразует SUBSTR вызов функции в пользовательский вызов функции SSMA.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: да Полный режим: нет |
Преобразование вызовов функции TO_CHAR(дата, формат) | SSMA может преобразовать Oracle TO_CHAR(date, format) в процедуры из ssma_oracle схемы.Если выбрать функцию TO_CHAR_DATE, SSMA преобразует TO_CHAR(date, format) в TO_CHAR_DATE с использованием английского языка для преобразования.Если выбрать использование функции TO_CHAR_DATE_LS (NLS care), SSMA преобразует TO_CHAR(date, format) в функцию TO_CHAR_DATE_LS с использованием языка сеанса для преобразования.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию/оптимистичный: использование функции TO_CHAR_DATE Полный режим: использование функции TO_CHAR_DATE_LS (уход за NLS) |
Сгенерировать ошибку для DBMS_SQL.PARSE | Если вы выберете Ошибка, SSMA генерирует ошибку при преобразовании DBMS_SQL.PARSE .При выборе Предупреждение SSMA генерирует предупреждение во время преобразования DBMS_SQL.PARSE .При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: ошибка |
Использование ISNULL в вызовах функций CONCAT |
ISNULL утверждение используется в CONCAT вызовах функций для эмуляции поведения Oracle. Для этого параметра представлены следующие параметры:ДА НЕТ При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: нет Полный режим: Да |
Использование ISNULL в вызовах функции REPLACE |
ISNULL утверждение используется в REPLACE вызовах функций для эмуляции поведения Oracle. Для этого параметра представлены следующие параметры:ДА НЕТ При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: нет Полный режим: Да |
Используйте встроенную функцию преобразования, когда это возможно | Если выбрать «Да», SSMA преобразует TO_CHAR(date, format) во встроенную функцию преобразования при возможности.Если выбрать "Нет", SSMA преобразует TO_CHAR(date, format) в TO_CHAR_DATE или TO_CHAR_DATE_LS (это определяется параметрами преобразования TO_CHAR(дата, формат).)При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: да Полный режим: нет |
Сообщения преобразования
Срок | Определение |
---|---|
Создание сообщений о проблемах | Указывает, генерирует ли SSMA информационные сообщения во время преобразования, отображает их в области вывода и добавляет их в преобразованный код. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: нет Полный режим: нет |
Другие параметры
Срок | Определение |
---|---|
Приведение выражений ROWNUM в качестве целых чисел | При преобразовании выражений ROWNUM SSMA преобразует выражение в предложение TOP , следующее за выражением. В следующем примере показано ROWNUM в инструкции Oracle DELETE :DELETE FROM Table1 WHERE ROWNUM < expression and Field1 >= 2 В следующем примере показан результирующий код Transact-SQL: DELETE TOP (expression-1) FROM Table1 WHERE Field1>=2 Для TOP требуется, чтобы выражение TOP в пунктах оценивалось в целое число. Если целое число отрицательное, выражение вызовет ошибку.Если выбрать "Да", SSMA приводит выражение в виде целого числа. Если выбрать "Нет", SSMA помечает все не целочисленные выражения как ошибку в преобразованном коде. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию или полный режим: нет Оптимистичный режим: Да |
Сопоставление схем по умолчанию | Этот параметр указывает, как схемы Oracle сопоставляются со схемами SQL Server. В этом параметре доступны два варианта: Схема для базы данных: В этом режиме схема Oracle будет сопоставлена по умолчанию со sch1 схемой dbo SQL Server в базе данных sch1 SQL Server.Схема схемы: В этом режиме схема Oracle будет сопоставлена по умолчанию со sch1 схемой sch1 SQL Server в базе данных SQL Server по умолчанию, предоставленной в диалоговом окне подключения.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: схема в базу данных |
Эмулировать поведение Oracle NULL в предложениях ORDER BY |
NULL значения упорядочены по-разному в SQL Server и Oracle:В SQL Server NULL значения являются наименьшими значениями в упорядоченном списке. В списке по возрастанию значения NULL будут отображаться вначале.В Oracle NULL значения являются самыми высокими значениями в упорядоченном списке. По умолчанию значения NULL появляются последними в списке по возрастанию.Oracle имеет NULLS FIRST и NULLS LAST операторы, которые позволяют изменить способ упорядочивания NULL значений.SSMA может эмулировать поведение Oracle ORDER BY , проверяя значения NULL . Затем он сначала упорядочивается по значениям NULL в указанном порядке, а затем упорядочивается другими значениями.Если выбрать "Да", SSMA преобразует инструкцию Oracle таким образом, чтобы эмулировать поведение Oracle ORDER BY .Если выбрать "Нет", SSMA будет игнорировать правила Oracle и выдаст сообщение об ошибке при обнаружении условий NULLS FIRST и NULLS LAST .При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: нет Полный режим: Да |
Эмулировать исключения по количеству строк в SELECT | Oracle вызывает SELECT исключение, если оператор NO_DATA_FOUND с предложением INTO не возвращает никаких строк. Если запрос возвращает две или более строк, возникает исключение TOO_MANY_ROWS . Преобразованная инструкция в SQL Server не вызывает никаких исключений, если число строк отличается от одного.Если выбрать "Да", SSMA добавляет вызов специальной db_error_exact_one_row_check процедуры после каждой SELECT инструкции. Эта процедура эмулирует NO_DATA_FOUND и TOO_MANY_ROWS исключения. Это значение по умолчанию, и оно позволяет воспроизвести поведение Oracle как можно ближе. Всегда следует выбрать "Да", если в исходном коде есть обработчики исключений, обрабатывающие эти ошибки. Обратите внимание, что если SELECT инструкция возникает внутри определяемой пользователем функции, этот модуль будет преобразован в хранимую процедуру, так как выполнение хранимых процедур и создание исключений несовместимо с контекстом функции SQL Server.Если вы выберете "Нет", исключение не будет создано. Это может быть полезно, если SSMA преобразует определяемую пользователем функцию, и вы хотите, чтобы она оставалась функцией в SQL Server При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Включение помощника по исправлению | При включении SSMA попытается узнать об изменениях, внесенных в целевой код T-SQL, и предложить вам возможные исправления кода в других местах, где можно применить аналогичный шаблон. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Создание псевдонимов столбцов константного выражения | Если выражение в SELECT списке отсутствует, SSMA может создать псевдоним константы (например expr1 , expr2 и т. д.) или использовать само выражение в качестве псевдонима. Так как выражения могут быть довольно длинными, а длина имени столбца ограничена, безопаснее использовать постоянное базовое имя для таких псевдонимов. Несмотря на то что это более безопасный вариант, иногда это невозможно, так как в результирующем наборе данных могут быть внешние зависимости. В таких случаях может потребоваться назвать столбцы в соответствии с их выражениями значений, аналогичным поведению Oracle.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: Да Полный режим: нет |
Опустить расширенные свойства | При включении SSMA не добавит расширенные свойства в объекты, которые он создает в целевой базе данных. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: нет |
Перевод кодов ошибок | При включении номер ошибки на целевой стороне SQL Server будет переведен в код ошибки Oracle, если сопоставление найдено. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Стандартный или полный режим: да Оптимистичный режим: нет |
Используйте полную спецификацию типа для ссылок на типы | При включении SSMA будет соблюдать полную спецификацию типа (включая масштабирование и точность) для стандартных параметров и возвращаемых значений. Oracle не разрешает использовать типы данных в качестве аргументов для параметров процедур, но существуют случаи, когда они могут быть определены неявно, например, когда используются атрибуты %TYPE и %ROWTYPE . В таких случаях SSMA может использовать спецификацию полного типа (включая точность и масштабирование) при преобразовании его в SQL Server.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: да Полный режим: нет |
Использование ISNULL в объединениях строк | Oracle и SQL Server возвращают разные результаты, когда при конкатенации строк включаются NULL значения. Oracle обрабатывает NULL значение как пустой набор символов. SQL Server возвращает NULL .Если выбрать "Да", SSMA заменяет символ объединения Oracle (||) символом объединения SQL Server (+). SSMA также проверяет выражения по обеим сторонам конкатенации на наличие значений NULL .Если выбрать "Нет", SSMA заменяет символы объединения, но не проверяет наличие NULL значений.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразование объектов
Срок | Определение |
---|---|
Преобразование внешних ключей с помощью действия с ссылкой SET NULL на столбец, который имеет значение NOT NULL | Oracle позволяет создавать ограничения внешнего ключа, где выполнение действия SET NULL невозможно, так как значения NULL не разрешены в ссылочном столбце. SQL Server не разрешает такую конфигурацию внешнего ключа.Если выбрать "Да", SSMA создаст референтные действия, как в Oracle, но перед загрузкой ограничения в SQL Server необходимо внести изменения вручную. Например, можно выбрать NO ACTION вместо SET NULL .Если выбрать "Нет", ограничение будет помечено как сообщение об ошибке. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: нет |
Преобразование подтипов | SSMA может преобразовать подтипы PL/SQL двумя способами: Если выбрать "Да", SSMA создаст определяемый пользователем тип SQL Server из подтипа и будет использовать его для каждой переменной этого подтипа. Если выбрать "Нет", SSMA заменит все объявления источника подтипа базовым типом и преобразует результат по обычному порядку. В этом случае дополнительные типы не создаются в SQL Server При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: нет |
Преобразование синонимов | Синонимы для следующих объектов Oracle можно перенести в SQL Server: Таблицы и таблицы объектов Представления и виды объектов Хранимые процедуры и функции Материализованные представления Синонимы для следующих Объекты Oracle можно заменить прямыми ссылками на объекты: Последовательности Пакеты Объекты схемы классов Java Пользовательские объектные типы Другие синонимы нельзя перенести. SSMA создаст сообщения об ошибках для синонима и всех ссылок, использующих этот синоним. Если выбрать "Да", SSMA создаст синонимы SQL Server и прямые ссылки на объекты в соответствии с предыдущими списками. Если выбрать "Нет", SSMA создаст прямые ссылки на объекты для всех синонимов, перечисленных здесь. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразование локальных модулей | Определяет преобразование типа вложенных подпрограмм Oracle, объявленных в автономной хранимой процедуре или функции. Если выбрать inline, вложенные вызовы подпрограммы будут заменены его текстом. Если выбраны хранимые процедуры, вложенные подпрограммы будут преобразованы в хранимую процедуру SQL Server, а их вызовы будут заменены на вызовы этой процедуры. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: встроенный |
Преобразование записей
Срок | Определение |
---|---|
Преобразование записи в виде списка отдельных переменных | SSMA может преобразовать записи Oracle в отдельные переменные и в XML-переменные с определенной структурой. Если выбрать "Да", SSMA преобразует запись в список отдельных переменных, когда это возможно. Если выбрать "Нет", SSMA преобразует запись в XML-переменные с определенной структурой. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Используйте SELECT... FOR XML при преобразовании SELECT... INTO для переменной записи | Указывает, следует ли создавать результирующий набор XML при выборе в переменную записи. Если выбрать "Да", инструкция SELECT возвращает XML. Если выбрать "Нет", инструкция SELECT возвращает результирующий набор. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: нет |
Преобразование предложения RETURNING
Срок | Определение |
---|---|
Преобразовать клаузу RETURNING в операторе DELETE в OUTPUT | Oracle предоставляет RETURNING предложение как способ немедленного получения удаленных значений. SQL Server предоставляет эту функцию с помощью предиката OUTPUT .Если выбрать Да, SSMA преобразует RETURNING конструкции в DELETE операторах в OUTPUT конструкции. Так как триггеры таблицы могут изменять значения, возвращаемое значение может отличаться в SQL Server, чем в Oracle.Если выбрать "Нет", SSMA создаст инструкцию SELECT перед DELETE инструкциями для получения возвращаемых значений.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразование предложения RETURNING в операторе INSERT в OUTPUT | Oracle предоставляет RETURNING предложение как способ немедленного получения вставленных значений. SQL Server предоставляет эту функцию с помощью предиката OUTPUT .Если выбрать Да, SSMA преобразует условие RETURNING в оператор INSERT OUTPUT . Так как триггеры таблицы могут изменять значения, возвращаемое значение может отличаться в SQL Server, чем в Oracle.Если выбрать "Нет", SSMA эмулирует функциональные возможности Oracle путем вставки и выбора значений из эталонной таблицы. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразование предложения RETURNING в операторе UPDATE в выражение OUTPUT | Oracle предоставляет RETURNING предложение в качестве способа немедленного получения обновленных значений. SQL Server предоставляет эту функцию с помощью предиката OUTPUT .Если выбрать Да, SSMA преобразует RETURNING конструкции в UPDATE операторах в OUTPUT конструкции. Так как триггеры таблицы могут изменять значения, возвращаемое значение может отличаться в SQL Server, чем в Oracle.Если выбрать «Нет», SSMA создаст операторы SELECT после операторов UPDATE , чтобы получить возвращаемые значения.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Создание ROWID
Срок | Определение |
---|---|
Создание столбца ROWID | Когда SSMA создает таблицы в SQL Server, он может создать столбец ROWID. При переносе данных каждая строка получает новое UNIQUEIDENTIFIER значение, созданное newid() функцией.Если выбрать "Да", столбец создается во всех таблицах, и SQL Server создает идентификаторы GUID в качестве вставляемых значений. Всегда выберите "Да" , если вы планируете использовать средство тестирования SSMA. Если выбрать "Нет", столбцы ROWID не добавляются в таблицы. Добавьте столбец ROWID для таблиц с триггерами для таблиц, содержащих триггеры. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Стандартный или оптимистичный режим: добавление столбца ROWID для таблиц с триггерами Полный режим: Да |
Создание уникального индекса в столбце ROWID | Указывает, создает ли SSMA уникальный столбец индекса в созданном столбце ROWID или нет. Если для параметра задано значение "ДА", создается уникальный индекс и если он имеет значение "NO", уникальный индекс не создается в столбце ROWID .При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразование последовательностей и идентичности
Срок | Определение |
---|---|
Преобразовать идентичность как | Oracle предоставляет несколько параметров конфигурации для идентификационных столбцов. Некоторые из этих параметров не поддерживаются функцией удостоверений в SQL Server. Метод сохранения этих параметров заключается в преобразовании идентичности последовательностью. При выборе Последовательности идентификационные столбцы Oracle больше не преобразуются в идентификационные столбцы SQL. Вместо этого создается последовательность и используется для создания значений по умолчанию для столбца. При выборе identity столбцы удостоверений Oracle будут преобразованы в столбцы удостоверений SQL. Неподдерживаемые параметры не будут преобразованы. Если выбрать best Fit, SSMA определит оптимальный метод преобразования (Identity или Sequence) в зависимости от конфигурации столбца удостоверений Oracle. |
Преобразовать генератор последовательностей | В Oracle можно использовать последовательность для создания уникальных идентификаторов. SSMA может преобразовать последовательности в следующие. Использование генератора последовательностей SQL Server. Использование генератора последовательности SSMA. Идентификатор столбца. По умолчанию используется генератор последовательностей SQL Server. Однако SQL Server не поддерживает получение текущего значения последовательности (например, метода последовательности CURRVAL Oracle). Дополнительные сведения о переносе метода последовательности CURRVAL Oracle см. на сайте блога группы SSMA.SSMA также предоставляет возможность преобразования последовательности Oracle в эмулятор последовательности SSMA. Это параметр по умолчанию при преобразовании в SQL Server до 2012 г. Наконец, можно также преобразовать последовательность, назначенную столбцу в таблице, в значения идентификаторов SQL Server. Необходимо указать сопоставление последовательностей со столбцом идентификаторов на вкладке Oracle "Таблица" |
Преобразовать CURRVAL вне триггеров | Отображается только в том случае, если для генератора последовательности преобразованиязадано значение Using column identity. Так как Oracle Sequences — это объекты, отдельные от таблиц, многие таблицы, использующие последовательности, используют триггер для создания и вставки нового значения последовательности. SSMA примечает эти инструкции или помечает их как ошибки, когда комментарий приведет к ошибкам. Если выбрать "Да", SSMA помечает все ссылки на внешние триггеры в преобразованной последовательности CURRVAL с предупреждением.Если выбрать "Нет", SSMA помечает все ссылки на внешние триггеры в преобразованной последовательности CURRVAL с ошибкой. |
Преобразование высказываний
Срок | Определение |
---|---|
Преобразование инструкции MERGE | При выборе использования оператора INSERT, UPDATE, DELETE, SSMA преобразует оператор MERGE в операторы INSERT , UPDATE и DELETE .Если выбрать инструкцию MERGE, SSMA преобразует инструкцию MERGE в MERGE для SQL Server.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: использование инструкции MERGE |
Преобразование вызовов в подпрограммы, использующие аргументы по умолчанию | Функции SQL Server не поддерживают пропуск параметров в вызове функции. Кроме того, функции и процедуры SQL Server не поддерживают выражения в качестве значений параметров по умолчанию. Если выбрать Да и вызов функции опускает параметры, SSMA вставит ключевое слово по умолчанию в правильную позицию в вызове функции. Затем он помечает вызов предупреждением. Если выбрать "Нет", SSMA помечает вызовы функции как ошибки. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразование инструкции FORALL в инструкцию WHILE | Определяет, как SSMA будет обрабатывать циклы в элементах коллекции PL/SQL. Если выбрать "Да", SSMA создает WHILE цикл, в котором элементы коллекции извлекаются по одному.Если выбрать "Нет", SSMA создает набор строк из коллекции с помощью nodes() метода и использует его в качестве одной таблицы. Это более эффективно, но делает выходной код менее читаемым.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: нет Полный режим: Да |
Преобразование вызовов функций в вызовы процедур | Некоторые функции Oracle определяются как автономные транзакции или содержат инструкции, которые не будут допустимыми в SQL Server. В этих случаях SSMA создает процедуру и функцию, которая является оболочкой для процедуры. Преобразованная функция вызывает процедуру реализации. SSMA может преобразовать вызовы к функции-оболочке в вызовы процедуры. Это создает более читаемый код и может повысить производительность. Однако контекст не всегда разрешает его; Например, невозможно заменить вызов функции в SELECT списке вызовом процедуры. SSMA имеет несколько вариантов, чтобы охватывать распространенные случаи:Если выбрать Always, SSMA пытается преобразовать вызовы функции-оболочки в вызовы процедур. Если текущий контекст не разрешает это преобразование, создается сообщение об ошибке. Таким образом, вызовы функций не остаются в созданном коде. При выборе по возможности SSMA выполняет переход к вызовам процедур только в том случае, если функция имеет выходные параметры. Если перемещение невозможно, выходной атрибут параметра удаляется. Во всех остальных случаях SSMA оставляет вызовы функций. Если выбрать "Никогда", SSMA оставляет все вызовы функций в качестве вызовов функций. Иногда этот выбор может быть неприемлемым из-за причин производительности. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: по возможности |
Преобразование инструкций LOCK TABLE | SSMA может преобразовать многие LOCK TABLE инструкции в табличные подсказки. SSMA не может преобразовать какие-либо LOCK TABLE инструкции, содержащие PARTITION , SUBPARTITION , @dblink , и NOWAIT предложения, и будет помечать такие инструкции сообщениями об ошибке преобразования.Если выбрать "Да", SSMA преобразует поддерживаемые LOCK TABLE инструкции в подсказки таблицы.Если выбрать "Нет", SSMA помечает все LOCK TABLE инструкции с сообщениями об ошибке преобразования.В следующей таблице показано, как SSMA преобразует режимы блокировки Oracle: Режим блокировки Oracle ROW SHARE ROW EXCLUSIVE SHARE UPDATE = ROW SHARE SHARE SHARE EXCLUSIVE Подсказка таблицы SQL Server ROWLOCK, HOLDLOCK ROWLOCK, XLOCK, HOLDLOCK ROWLOCK, HOLDLOCK TABLOCK, HOLDLOCK TABLOCK, XLOCK, HOLDLOCK TABLOCKX, HOLDLOCK При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразование инструкций OPEN-FOR для параметров REF CURSOR OUT | В Oracle оператор OPEN .. FOR можно применять для возврата набора результатов в параметр подпрограммы OUT типа REF CURSOR . В SQL Server хранимые процедуры напрямую возвращают результаты инструкций SELECT .SSMA может преобразовать многие OPEN .. FOR инструкции в SELECT инструкции.Если выбрать Да, SSMA преобразует инструкцию OPEN .. FOR в инструкцию SELECT , которая возвращает результирующий набор клиенту.Если выбрать "Нет", SSMA создаст сообщение об ошибке в преобразованном коде и на панели вывода. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразуйте инструкции обработки транзакций | SSMA может преобразовать инструкции обработки транзакций Oracle: Если выбрать "Да", SSMA преобразует инструкции обработки транзакций Oracle в инструкции SQL Server. Если выбрать "Нет", SSMA помечает инструкции обработки транзакций как ошибки преобразования. Заметка: Oracle открывает транзакции неявно. Чтобы эмулировать это поведение в SQL Server, необходимо вручную добавить BEGIN TRANSACTION инструкции, в которые нужно запустить транзакции. Кроме того, можно выполнить SET IMPLICIT_TRANSACTIONS ON команду в начале сеанса. SSMA автоматически добавляет SET IMPLICIT_TRANSACTIONS ON при преобразовании подпрограмм с автономными транзакциями.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |