Таблица _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, см. в разделе Просмотрпреобразования.