Параметры проекта (преобразование) (OracleToSQL)
Страница преобразования диалогового окна "Параметры проекта" содержит параметры, которые настраивают способ преобразования синтаксиса 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 схемы.Если выбрать функцию Using TO_CHAR_DATE, SSMA преобразует TO_CHAR(date, format) TO_CHAR_DATE функцию с помощью английского языка для преобразования.Если выбрать функцию Using 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. АНАЛИЗА | При выборе ошибки SSMA создает ошибку при преобразовании DBMS_SQL.PARSE .При выборе предупреждения SSMA создает предупреждение при преобразовании DBMS_SQL.PARSE .При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: ошибка |
Использование ISNULL в вызовах функций CONCAT | ISNULL оператор используется в CONCAT вызовах функций для эмуляции поведения Oracle. Для этого параметра представлены следующие параметры:YES НЕТ При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: нет Полный режим: Да |
Использование ISNULL в вызовах функции REPLACE | ISNULL оператор используется в REPLACE вызовах функций для эмуляции поведения Oracle. Для этого параметра представлены следующие параметры:YES НЕТ При выборе режима преобразования в поле "Режим " 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 будет сопоставлена по умолчанию со dbo схемой sch1 SQL Server в базе данных sch1 SQL Server.Схема схемы: в этом режиме схема sch1 Oracle будет сопоставлена по умолчанию со 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 Oracle.SSMA может эмулировать поведение Oracle ORDER BY , проверяя значения NULL . Затем он сначала упорядочивается по значениям NULL в указанном порядке, а затем упорядочивается другими значениями.Если выбрать "Да", SSMA преобразует инструкцию Oracle таким образом, чтобы эмулировать поведение Oracle ORDER BY .Если выбрать "Нет", SSMA будет игнорировать правила Oracle и создавать сообщение об ошибке при обнаружении NULLS FIRST предложений и NULLS LAST предложений.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: Режим по умолчанию и оптимистично: нет Полный режим: Да |
Эмулировать исключения счетчика строк в SELECT | SELECT Если оператор с предложением INTO не возвращает никаких строк, Oracle вызывает NO_DATA_FOUND исключение. Если инструкция возвращает две или более строк, 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 значение как пустой набор символов. ВОЗВРАЩАЕТ NULL SQL Server.Если выбрать "Да", SSMA заменяет символ объединения Oracle (||) символом объединения SQL Server (+). SSMA также проверяет выражения на обеих сторонах объединения значений NULL .Если выбрать "Нет", SSMA заменяет символы объединения, но не проверяет наличие NULL значений.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразование объектов
Термин | Определение |
---|---|
Преобразование внешних ключей с помощью действия с ссылкой SET NULL на столбец, который имеет значение NOT NULL | Oracle позволяет создавать ограничения внешнего ключа, в которых SET NULL не удалось выполнить действие, так как NULLs не разрешены в столбце со ссылкой. SQL Server не разрешает такую конфигурацию внешнего ключа.Если выбрать "Да", SSMA создаст референтные действия, как в Oracle, но перед загрузкой ограничения в SQL Server необходимо внести изменения вручную. Например, вместо него SET NULL можно выбратьNO ACTION .Если выбрать "Нет", ограничение будет помечено как сообщение об ошибке. При выборе режима преобразования в поле "Режим " 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 предложения в операторы OUTPUT в DELETE предложения. Так как триггеры таблицы могут изменять значения, возвращаемое значение может отличаться в 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 предложения в операторы OUTPUT в UPDATE предложения. Так как триггеры таблицы могут изменять значения, возвращаемое значение может отличаться в SQL Server, чем в Oracle.Если выбрать "Нет", SSMA создаст инструкции SELECT после UPDATE инструкций для получения возвращаемых значений.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Создание ROWID
Термин | Определение |
---|---|
Создание столбца ROWID | Когда SSMA создает таблицы в SQL Server, он может создать столбец ROWID. При переносе данных каждая строка получает новое UNIQUEIDENTIFIER значение, созданное newid() функцией.Если выбрать "Да", столбец создается во всех таблицах и ROWID SQL Server создает идентификаторы GUID в качестве значений вставки. Всегда выберите "Да" , если вы планируете использовать средство тестирования SSMA.Если выбрать "Нет", столбцы ROWID не добавляются в таблицы. Добавьте столбец 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 | При выборе using INSERT, UPDATE, DELETE statement, SSMA преобразует MERGE оператор в INSERT оператор , UPDATE DELETE операторы.Если выбрать инструкцию MERGE, SSMA преобразует MERGE инструкцию в инструкцию MERGE в SQL Server.При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: использование инструкции MERGE |
Преобразование вызовов в подпрограммы, использующие аргументы по умолчанию | Функции SQL Server не поддерживают пропуск параметров в вызове функции. Кроме того, функции и процедуры SQL Server не поддерживают выражения в качестве значений параметров по умолчанию. Если выбрать "Да " и вызов функции не учитывает параметры, SSMA вставляет ключевое слово по умолчанию в функцию и вызывается в правильном положении. Затем он помечает вызов предупреждением. Если выбрать "Нет", SSMA помечает вызовы функции как ошибки. При выборе режима преобразования в поле "Режим " SSMA применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |
Преобразование инструкции FORALL в инструкцию WHILE | Определяет способ обработки FORALL циклов 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 инструкции, содержащие SUBPARTITION PARTITION @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 применяет следующий параметр: По умолчанию/оптимистичный/полный режим: да |