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


Создание файлов сценария (SybaseToSQL)

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

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

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

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

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

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

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

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

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

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

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

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

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

    • suppress-messages: подавляет сообщения в консоли. По умолчанию это значение false.

    Пример:

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

    or

    <...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>  
    

    or

    <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>  
    

    or

    <!-- 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>  
    

    or

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

    or

    <!--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>  
    

    or

    <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. Поставщик хода выполнения: сообщает о ходе выполнения каждой команды консоли. Эта функция отключена по умолчанию. Атрибуты отчетов о ходе выполнения состоят из следующих элементов:

    • off

    • каждые 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>  
    

    or

    <...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>  
    

    or

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

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

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

    2. Если параметр переопределения имеет значение true, порядок поиска будет выполняться пользователем file-server Connection File-Server>>.

    Пример:

    <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)