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


Таблица _TransformView

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

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

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

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

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

Столбец

таблица

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

Столбец

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

Строка

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

данные

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

Current

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

Замечания

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

ALTER TABLE _TransformView FREE.

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

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

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

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

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

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

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

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