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


таблица _TransformView

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

Чтобы вызвать режим представления преобразования, получите дескриптор и откройте эталонную базу данных. См . раздел Получение дескриптора базы данных. Вызовите MsiDatabaseApplyTransform с MSITRANSFORM_ERROR_VIEWTRANSFORM. Это останавливает применение преобразования к базе данных и создает дамп содержимого преобразования в _TransformView таблице. Доступ к данным в таблице можно получить с помощью SQL-запросов. См. раздел Работа с запросами.

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

Таблица _TransformView содержит следующие столбцы.

Столбец Type Ключ Допускает значения NULL
Таблица Идентификатор Да N
Столбец Text Да N
Строка Text Да Да
Данные Text N Да
Текущие Text N Да

Столбец

Таблице

Имя измененной таблицы базы данных.

Столбца

Имя измененного столбца таблицы или INSERT, DELETE, CREATE или DROP.

Строки

Список значений первичного ключа, разделенных вкладками. Значения первичного ключа NULL представлены одним пробелом. Значение Null в этом столбце указывает на изменение схемы.

Данных

Данные, имя потока данных или определение столбца.

Текущего

Текущее значение из эталонной базы данных или число столбца.

Комментарии

_TransformView хранится в памяти по количеству блокировок, которое можно освободить с помощью следующей команды SQL.

ALTER TABLE _TransformView FREE.

Доступ к данным в таблице можно получить с помощью SQL-запросов. Язык SQL имеет два main отделов: язык определения данных (DDL), который используется для определения всех объектов в базе данных SQL, и язык обработки данных (DML), который используется для выбора, вставки, обновления и удаления данных в объектах, определенных с помощью DDL.

Операции преобразования языка обработки данных (DML) указываются следующим образом. Язык обработки данных (DML) — это те инструкции в SQL, которые управляют данными, а не определяют.

Операция преобразования Результат SQL
Изменение данных {table} {column} {row} {data} {текущее значение}
Вставка строки {table} "INSERT" {row} NULL NULL
Удаление строки {table} "DELETE" {row} NULL NULL

Операции преобразования языка определения данных (DDL) указываются следующим образом. Язык определения данных (DDL) — это те инструкции в SQL, которые определяют, а не управляют данными.

Операция преобразования Результат SQL
Добавление столбца {table} {column} NULL {defn} {номер столбца}
Добавить таблицу {table} "CREATE" NULL NULL NULL NULL
Удаление таблицы {table} "DROP" NULL NULL NULL

Когда приложение преобразования добавляет эту таблицу, поле Данных получает текст, который можно интерпретировать как 16-разрядное целочисленное значение. Значение описывает столбец с именем в поле Столбец. Вы можете сравнить целочисленное значение с константами в следующей таблице, чтобы определить определение измененного столбца.

bit Описание
Биты 0 7
Шестнадцатеричное: 0x0000 0x0100
Десятичное число: 0 255
Ширина столбца
Бит 8
Шестнадцатеричное: 0x0100
Десятичное число: 256
Постоянный столбец. Ноль означает временный столбец.
Бит 9
Шестнадцатеричное: 0x0200
Десятичное число: 1023
Локализуемый столбец. Ноль означает, что столбец не может быть локализован.
Биты 10 11
Шестнадцатеричное: 0x0000
Десятичное число: 0
Long integer
Шестнадцатеричное: 0x0400
Десятичное: 1024
Короткое целое число
Шестнадцатеричное: 0x0800
Decimal: 2048
Двоичный объект
Шестнадцатеричное: 0x0C00
Десятичное число: 3072
Строка
Бит 12
Шестнадцатеричное: 0x1000
Десятичное число: 4096
Столбец, допускающий значение NULL. Ноль означает, что столбец не допускает значения NULL.
Бит 13
Шестнадцатеричное: 0x2000
Десятичное: 8192
Столбец первичного ключа. Ноль означает, что этот столбец не является первичным ключом.
Биты 14 15
Шестнадцатеричное: 0x4000 0x8000
Десятичная: 16384 32768
Зарезервировано

Пример скрипта, демонстрирующий _TransformView таблицу, см. в разделе Просмотр преобразования.