_TransformView Table

これは、変換ビュー モードで変換を表示するために使用される読み取り専用の一時テーブルです。 このテーブルはインストーラーによって永続化されることはありません。

変換ビュー モードを呼び出すには、ハンドルを取得し、参照データベースを開きます。 「データベース ハンドルの取得」を参照してください。 MSITRANSFORM_ERROR_VIEWTRANSFORM を使用して MsiDatabaseApplyTransform を呼び出します。 これにより、変換がデータベースに適用されなくなり、変換の内容が_TransformView テーブルにダンプされます。 テーブル内のデータには、SQL クエリを使用してアクセスできます。 「クエリの操作」を参照してください。

別の変換が適用される場合、_TransformView テーブルはクリアされません。 次の表は、連続して適用することの累積効果を反映したものです。 変換を個別に表示するには、テーブルを解放する必要があります。

_TransformView テーブルには、次の列があります。

Column 種類 キー Nullable
テーブル Identifier Y N
テキスト Y N
テキスト Y Y
Data テキスト N Y
Current テキスト N Y

Table

変更されたデータベース テーブルの名前。

Column

変更されたテーブル列または INSERT、DELETE、CREATE、または DROP の名前。

Row

主キー値のタブ区切りリスト。 Null の主キー値はスペース 1 文字で表されます。 この列の Null 値はスキーマの変更を示します。

Data

データ、データ ストリームの名前、または列の定義。

Current

参照データベースからの現在の値、または数値の列。

解説

_TransformView はロック カウントによってメモリ内に保持され、次の SQL コマンドで解放できます。

"ALTER TABLE _TransformView FREE"。

テーブル内のデータには、SQL クエリを使用してアクセスできます。 SQL 言語には、SQL データベース内のすべてのオブジェクトを定義するために使用されるデータ定義言語 (DDL) と、DDL を使用して定義されたオブジェクト内のデータの選択、挿入、更新、および削除に使用されるデータ操作言語 (DML) という 2 つの主要な区分があります。

データ操作言語 (DML) 変換操作は、次のように示されます。 データ操作言語 (DML) は、データを定義するのではなく操作する SQL ステートメントです。

変換操作 SQL の結果
データの変更 {table} {column} {row} {data} {current value}
行を挿入する {table} "INSERT" {row} NULL NULL
行を削除する {table} "DELETE" {row} NULL NULL

データ定義言語 (DDL) 変換操作は、次のように示されます。 データ定義言語 (DDL) は、データを操作するのではなく、定義する SQL のステートメントです。

変換操作 SQL の結果
列の追加 {table} {column} NULL {defn} {column number}
テーブルの追加 {table} "CREATE" NULL NULL NULL
テーブルの削除 {table} "DROP" NULL NULL NULL

変換を適用することによってこのテーブルが追加されると、16 ビット整数値として解釈できるテキストが [Data] フィールドに取り込まれます。 この値によって、[Column] フィールドに指定された列が記述されます。 整数値を次の表内の定数と比較することで、変更された列の定義を特定できます。

ビット 説明
ビット 0 7
16 進数: 0x0000 0x0100
10 進数: 0 255
[列幅]
ビット 8
16 進数: 0x0100
10 進数: 256
永続的な列。 ゼロは一時列を意味します。
ビット 9
16 進数: 0x0200
10 進数: 1023
ローカライズ可能な列。 0 は、列をローカライズできないことを意味します。
ビット 10 11
16 進数: 0x0000
10 進数: 0
Long integer
16 進数: 0x0400
10 進数: 1024
短整数
16 進数: 0x0800
10 進数: 2048
バイナリ オブジェクト
16 進数: 0x0C00
10 進数: 3072
String
ビット 12
16 進数: 0x1000
10 進数: 4096
Null 許容列。 0 は、列が Null 許容ではないことを意味します。
ビット 13
16 進数: 0x2000
10 進数: 8192
主キー列 0 は、この列が主キーではないことを意味します。
ビット 14 15
16 進数: 0x4000 0x8000
10 進数: 16384 32768
予約済み

_TransformView テーブルを示すスクリプト サンプルについては、「変換の表示」を参照してください。