Condividi tramite


tabella _Streams

Nella tabella _Streams sono elencati i flussi di dati OLE incorporati. Si tratta di una tabella temporanea, creata solo quando si fa riferimento a un'istruzione SQL.

Colonna Tipo Chiave Nullable
Nome Text S N
Dati Binario N S

 

Colonne

Nome

Chiave univoca che identifica il flusso. La lunghezza massima di Name è di 62 caratteri.

Dati

Dati binari non formattati.

Commenti

Per copiare un flusso di dati OLE (ad esempio, un oggetto del tipo di dati Binary ) da un file in un database, creare un record nella tabella _Streams e immettere il nome del flusso di dati nella colonna Name di questo record e copiare i dati dal file nella colonna Data usando MsiRecordSetStream. Usare MsiViewModify per inserire il nuovo record nella tabella.

Per leggere un flusso di dati binari incorporato in un database, usare una query SQL per trovare e recuperare il record contenente i dati binari. Usare MsiRecordReadStream per leggere i dati binari in un buffer.

Per spostare un flusso di dati binari da un database a un altro, esportare prima i dati in un file. Usare una query SQL per trovare il flusso di dati nel file e usare MsiRecordSetStream per copiare i dati dal file nella colonna Dati di _Streams tabella del secondo database. Ciò garantisce che ogni database disponga di una propria copia dei dati binari. Non è possibile spostare i dati binari da un database a un altro semplicemente recuperando un record con i dati del primo database e inserendolo nel secondo database.

Per eliminare un flusso di dati, recuperare il record e impostare la colonna Dati su Null prima di aggiornare il record. Un altro metodo consiste nel rimuovere il record dalla tabella, eliminandolo usando MsiViewModify o una query SQL normale. Un flusso non deve essere recuperato in un record se il flusso viene eliminato dalla tabella.

Per rinominare un flusso di dati OLE, aggiornare la colonna 'Name' del record.

Se in questa tabella viene inserito un blocco tramite SQL (ALTER TABLE)

HOLD) o una colonna viene aggiunta con HOLD, la tabella deve essere rilasciata usando FREE. I flussi non vengono scritti finché la tabella non viene rilasciata o sottoposta a commit.