次の方法で共有


テーブル_Storages

_Storagesテーブルには、埋め込み OLE データ ストレージが一覧表示されます。 これは一時テーブルであり、SQL ステートメントによって参照される場合にのみ作成されます。

コラム 種類 許容
名前 テキスト Y N
データ バイナリ N Y

 

ストレージを識別する一意のキー。 Name の最大長は 31 文字です。

データ

書式設定されていないバイナリ データ。

備考

OLE ストレージをデータベースに追加するには、_Storages テーブルに新しいレコードを作成し、[名前] 列にストレージの名前を入力します。 MsiRecordSetStream を使用して、このレコードの [データ] 列にデータをコピーします。 最後に、MsiViewModify を使用して、_Storages テーブルにレコードを挿入します。

_Storages テーブルからデータを読み取ることはできません。 ただし、_Storages テーブルを照会して、特定のストレージが存在するかどうかを確認できます。 つまり、OLE ストレージをあるデータベースから別のデータベースに移動することはできません。 代わりに、元のストレージ ファイルを新しいデータベースにインポートする必要があります。OLE ストレージを削除するには、バイナリ データを含むレコードをフェッチし、_Storages テーブルの Data 列を null に設定してから、レコードを更新します。 別の方法として、msiViewModifyまたはプレーン SQL クエリ使用してレコードを削除する方法があります。

OLE ストレージの名前を変更するには、レコードの [名前] 列を更新します。

SQL を使用してこのテーブルに保留を設定する場合 (ALTER TABLE

HOLD) または HOLD を使用して列を追加する場合は、FREE を使用してテーブルを解放する必要があります。 ストレージは、テーブルが解放またはコミットされるまで書き込まれません。