Поделиться через


Создание файлов скриптов (SybaseToSQL)

Первым шагом перед запуском консольного приложения SSMA является создание файла скрипта и при необходимости создания файла значения переменной и файла подключения к серверу.

Файл скрипта можно разделить на три раздела, viz...,:

  1. Конфигурация: Позволяет пользователю задать параметры конфигурации для консольного приложения.

  2. Серверы: Позволяет пользователю задать настройки исходного и целевого сервера. Это также может быть в отдельном файле подключения к серверу.

  3. script-commands: Позволяет пользователю выполнять команды рабочего процесса SSMA.

Каждый раздел подробно описан ниже:

Настройка параметров консоли Sybase

Конфигурации скрипта отображаются в файле скрипта консоли.

Если любой из элементов указан в узле конфигурации, они задаются как глобальный параметр, т. е. они применимы ко всем командам скрипта. Эти элементы конфигурации также можно задать в каждой команде в разделе команд скрипта, если пользователь хочет переопределить глобальный параметр.

Параметры, настраиваемые пользователем, включают:

  1. Поставщик окон вывода: Если атрибут подавления сообщений имеет значение true, сообщения, относящиеся к командам, не отображаются в консоли. Ниже приведено описание атрибутов:

    • назначение: указывает, нужно ли выводить выходные данные в файл или stdout. Значение false по умолчанию.

    • имя файла: путь к файлу (необязательно).

    • suppress-messages: подавляет сообщения в консоли. Значение по умолчанию — 'ложь'.

    Пример:

    <output-providers>  
    
      <output-window  
    
        suppress-messages="<true/false>"   (optional)  
    
        destination="<file/stdout>"        (optional)  
    
        file-name="<file-name>"            (optional)  
    
       />  
    
    </output-providers>  
    

    или

    <...All commands...>  
    
      <output-window  
    
         suppress-messages="<true/false>"   (optional)  
    
         destination="<file/stdout>"        (optional)  
    
         file-name="<file-name>"            (optional)  
    
       />  
    
    </...All commands...>  
    
  2. Поставщик подключения к миграции данных: Это указывает, какой исходный или целевой сервер следует учитывать для миграции данных. Последнее использование источника указывает, что последний используемый исходный сервер используется для миграции данных. Аналогичным образом, целевой сервер, который использовался последним, указывает, что именно он используется для миграции данных. Пользователь также может указать сервер (источник или целевой объект) с помощью атрибутов source-server или target-server.

    Можно использовать только один или другой указанный атрибут:

    • source-use-last-used="true" (по умолчанию) или source-server="source_servername"

    • target-use-last-used="true" (по умолчанию) или target-server="target_servername"

    Пример:

    <output-providers>  
    
      <data-migration-connection   source-use-last-used="true"  
    
                                   target-server="<target-server-unique-name>"/>  
    
    </output-providers>  
    

    или

    <migrate-data>  
    
      <data-migration-connection   source-server="<source-server-unique-name>"  
    
                                   target-use-last-used="true"/>  
    
    </migrate-data>  
    
  3. Всплывающее окно ввода пользователей: Это позволяет обрабатывать ошибки, когда объекты загружаются из базы данных. Пользователь предоставляет режимы ввода, и в случае ошибки консоль действует в соответствии с указаниями пользователя.

    К ним относятся следующие режимы:

    • ask-user — Запрашивает у пользователя, продолжить («да») или выдать ошибку («нет»).

    • ошибка- Консоль отображает ошибку и останавливает выполнение.

    • продолжать- Консоль продолжает выполнение.

    Режим по умолчанию — ошибка.

    Пример:

    <output-providers>  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </output-providers>  
    

    или

    <!-- Connect to target database -->  
    
    <connect-target-database server="<target-server-unique-name>">  
    
      <user-input-popup mode="<ask-user/continue/error>"/>  
    
    </connect-target-database>  
    
  4. Поставщик повторного подключения: Это позволяет пользователю задать параметры повторного подключения в случае сбоев подключения. Это можно задать как для исходных, так и для целевых серверов.

    Режимы повторного подключения:

    • повторное подключение к последнему используемому серверу: если подключение не активно, он пытается повторно подключиться к последнему серверу, используемому не более 5 раз.

    • создание ошибки: если подключение не активно, создается ошибка.

    По умолчанию используется режим создания ошибки.

    Пример:

    <output-providers>  
    
      <reconnect-manager  on-source-reconnect="<reconnect-to-last-used-server/generate-an-error>"  
    
                          on-target-reconnect="<reconnect-to-last-used-server/generate-an-error>"/>  
    
    </output-providers>  
    

    или

    <!--synchronization-->  
    
    <synchronize-target>  
    
      <reconnect-manager on-target-reconnect="reconnect-to-last-used-server"/>  
    
    </synchronize-target>  
    

    или

    <!--data migration-->  
    
    <migrate-data server="<target-server-unique-name>">  
    
      <reconnect-manager  
    
        on-source-reconnect="reconnect-to-last-used-server"  
    
        on-target-reconnect="generate-an-error"/>  
    
    </migrate-data>  
    
  5. Поставщик перезаписи преобразователя: Это позволяет пользователю обрабатывать объекты, которые уже присутствуют в целевой метабазе. Возможные действия:

    • ошибка: консоль отображает ошибку и останавливает выполнение.

    • перезапись: перезаписывает существующие значения объектов. Это действие выполняется по умолчанию.

    • skip: консоль пропускает объекты, которые уже существуют в базе данных.

    • ask-user: запрашивает у пользователя ввод ("да"/ "нет")

    Пример:

    <output-providers>  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </output-providers>  
    

    или

    <convert-schema object-name="<object-name>">  
    
      <object-overwrite action="<error/skip/overwrite/ask-user>"/>  
    
    </convert-schema>  
    
  6. Поставщик неудовлетворённых предварительных условий: Это позволяет пользователю управлять любыми предварительными условиями, необходимыми для обработки команды. По умолчанию строгий режим имеет значение false. Если установлено значение true, исключение будет сгенерировано в случае несоответствия предварительным требованиям.

    Пример:

    <output-providers>  
    
      <prerequisites strict-mode="<true/false>"/>  
    
    </output-providers>  
    
  7. Остановка операции: Во время средней операции, если пользователь хочет остановить операцию, можно использовать горячий ключ CTRL+C . Консоль SSMA для Sybase будет ожидать завершения операции и завершит выполнение консольной задачи.

    Если пользователь хочет немедленно остановить выполнение, можно снова нажать клавиши CTRL+C для резкого завершения консольного приложения SSMA.

  8. Поставщик хода выполнения: Сообщает о ходе выполнения каждой консольной команды. Эта функция отключена по умолчанию. Атрибуты отчетов о ходе выполнения состоят из следующих элементов:

    • выключено

    • каждые 1%

    • каждые 2%

    • каждые 5%

    • каждые 10%

    • каждые 20%

    Пример:

    <output-providers>  
    
      <progress-reporting enable="<true/false>"           (optional)  
    
                          report-messages="<true/false>"  (optional)  
    
                          report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off" (optional)/>  
    
    </output-providers>  
    

    или

    <...All commands...>  
    
      <progress-reporting  
    
        enable="<true/false>"          (optional)  
    
        report-messages="<true/false>" (optional)  
    
        report-progress="every-1%/every-2%/every-5%/every-10%/every-20%/off (optional)/>  
    
    </...All commands...>  
    
  9. Уровень детализации логов: Задает уровень детализации логов. Это соответствует параметру "Все категории" в пользовательском интерфейсе. По умолчанию уровень детализации журнала — "error".

    Параметры уровня ведения журнала включают:

    • Фатальная ошибка: регистрируются только сообщения о фатальной ошибке.

    • ошибка: регистрируются только сообщения об ошибках и фатальных ошибках.

    • предупреждение. Регистрируются все уровни, кроме отладочных и информационных сообщений.

    • сведения: регистрируются все уровни, кроме отладочных сообщений.

    • отладка: записаны все уровни сообщений.

    Замечание

    Обязательные сообщения регистрируются на любом уровне.

    Пример:

    <output-providers>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </output-providers>  
    

    или

    <...All commands...>  
    
      <log-verbosity level="fatal-error/error/warning/info/debug"/>  
    
    </...All commands...>  
    
  10. Переопределите зашифрованный пароль: Если значение true, пароль с четким текстом, указанный в разделе определения сервера файла подключения сервера или в файле скрипта, переопределяет зашифрованный пароль, хранящийся в защищенном хранилище, если он существует. Если пароль не указан в виде ясного текста, пользователю будет предложено ввести пароль.

    Здесь возникают два случая:

    1. Если параметр переопределения имеет значение false, порядок поиска будет следующим: Защищенное хранилище->Файл скрипта->Файл подключения сервера->Запрос пользователя.

    2. Если параметр переопределения включен, порядок поиска будет следующим: файл скрипта, файл соединения с сервером, запрос пользователя>>.

    Пример:

    <output-providers>  
    
      <encrypted-password override="<true/false>"/>  
    
    </output-providers>  
    

Параметр, который не настраивается, является следующим:

  • Максимальное количество попыток повторного подключения: При истечении установленного времени ожидания подключения или прерывания из-за сбоя сети сервер должен быть повторно подключен. Попытки повторного подключения допускаются не более 5 повторных попыток, после чего консоль автоматически выполняет повторное подключение. Средство автоматического повторного подключения сокращает усилия при повторном запуске скрипта.

Параметры подключения сервера

Параметры подключения к серверу можно определить в файле скрипта или в файле подключения сервера. Дополнительные сведения см. в разделе "Создание файлов подключения сервера (SybaseToSQL)

Команды скриптов

Файл скрипта содержит последовательность команд рабочего процесса миграции в формате XML. Консольное приложение SSMA обрабатывает миграцию в порядке команд, отображаемых в файле скрипта.

Например, типичный перенос данных определенной таблицы в базе данных Sybase следует иерархии: Database-Schema> ->Table.

Когда все команды в файле скрипта выполняются успешно, консольное приложение SSMA завершает работу и возвращает элемент управления пользователю. Содержимое файла скрипта является более или менее статическим с сведениями переменной, содержащимися либо в файлах значений переменных , либо в отдельном разделе в файле скрипта для значений переменных.

Пример:

<!--Sample of script file commands -->  
  
<ssma-script-file>  
  
  <script-commands>  
  
    <create-new-project project-folder="<project-folder>"  
  
                        project-name="<project-name>"  
  
                        overwrite-if-exists="<true/false>"/>  
  
    <connect-source-database server="<source-server-unique-name>"/>  
  
    <save-project/>  
  
    <close-project/>  
  
  </script-commands>  
  
</ssma-script-file>  

Шаблоны, состоящие из 3 файлов скриптов (для выполнения различных сценариев), файла значения переменной и файла подключения к серверу предоставляются в папке примеров консольных скриптов каталога продукта:

  • AssessmentReportGenerationSample.xml

  • ConversionAndDataMigrationSample.xml

  • SqlStatementConversionSample.xml

  • VariableValueFileSample.xml

  • ServersConnectionFileSample.xml

Вы можете выполнить шаблоны (файлы) после изменения параметров, отображаемых там для релевантности.

Полный список команд скриптов можно найти в разделе "Выполнение консоли SSMA" (SybaseToSQL)

Проверка файла скрипта

Пользователь может легко проверить файл скрипта в файле определения схемы S2SSConsoleScriptSchema.xsd, доступном в папке Schemas

Следующий шаг

Следующим шагом в работе консоли является создание файлов значений переменной (SybaseToSQL).

См. также

Создание файлов значений переменных (SybaseToSQL)