tabulka _Streams
Tabulka _Streams obsahuje vložené datové proudy OLE. Jedná se o dočasnou tabulku vytvořenou pouze v případě, že odkazuje příkaz SQL.
Sloupec | Typ | Klíč | Nullable |
---|---|---|---|
Jméno | textové | Y | N |
Data | binární | N | Y |
Sloupce
-
název
-
Jedinečný klíč, který identifikuje datový proud. Maximální délka názvu je 62 znaků.
-
data
-
Neformátovaná binární data.
Poznámky
Pokud chcete zkopírovat datový proud OLE (například objekt datového typu Binary) ze souboru do databáze, vytvořte záznam v tabulce _Streams a zadejte název datového streamu do sloupce Název tohoto záznamu a zkopírujte data ze souboru do sloupce Data pomocí MsiRecordSetStream. Pomocí MsiViewModify vložte nový záznam do tabulky.
Ke čtení binárního datového proudu vloženého do databáze použijte dotaz SQL k vyhledání a načtení záznamu obsahujícího binární data. Ke čtení binárních dat do vyrovnávací paměti použijte MsiRecordReadStream.
Pokud chcete přesunout binární datový proud z jedné databáze do jiné, nejprve exportujte data do souboru. Pomocí dotazu SQL vyhledejte datový proud v souboru a pomocí MsiRecordSetStream zkopírujte data ze souboru do sloupce Data _Streams tabulky druhé databáze. Tím zajistíte, že každá databáze má vlastní kopii binárních dat. Binární data nelze přesunout z jedné databáze do jiné jednoduše načtením záznamu s daty z první databáze a vložením do druhé databáze.
Pokud chcete odstranit datový proud, načtěte záznam a před aktualizací záznamu nastavte sloupec Data na hodnotu null. Další metodou je odebrání záznamu z tabulky a jeho odstranění pomocí MsiViewModify nebo prostého dotazu SQL. Datový proud by neměl být načten do záznamu, pokud je stream odstraněn z tabulky.
Chcete-li přejmenovat datový proud OLE, aktualizujte sloupec Name záznamu.
Pokud je blokování umístěné v této tabulce pomocí SQL (ALTER TABLE)
HOLD) nebo sloupec se přidá s holdem, tabulka musí být uvolněna pomocí FUNKCE FREE. Streamy se nezapisují, dokud nebude tabulka uvolněna nebo potvrzena.