_Streams Tabelle

Die _Streams Tabelle enthält eingebettete OLE-Datenströme. Dies ist eine temporäre Tabelle, die nur beim Verweis auf eine SQL-Anweisung erstellt wird.

Spalte Typ Key Nullwerte zulässig
Name Text J N
Daten Binär (Binary) N J

 

Spalten

Namen

Ein eindeutiger Schlüssel, der den Datenstrom identifiziert. Die maximale Länge des Namens beträgt 62 Zeichen.

Daten

Die nicht formatierten Binärdaten.

Bemerkungen

Um einen OLE-Datenstrom (z. B. ein Objekt des Binären Datentyps) aus einer Datei in eine Datenbank zu kopieren, erstellen Sie einen Datensatz in der _Streams Tabelle, und geben Sie den Namen des Datenstroms in die Spalte "Name" dieses Datensatzes ein, und kopieren Sie die Daten aus der Datei in die Datenspalte mithilfe von MsiRecordSetStream. Verwenden Sie MsiViewModify , um den neuen Datensatz in die Tabelle einzufügen.

Um einen in eine Datenbank eingebetteten Binärdatenstrom zu lesen, verwenden Sie eine SQL Abfrage, um den Datensatz mit den Binärdaten zu finden und abzurufen. Verwenden Sie MsiRecordReadStream , um die Binärdaten in einen Puffer zu lesen.

Um einen Binärdatenstrom von einer Datenbank in eine andere zu verschieben, exportieren Sie zuerst die Daten in eine Datei. Verwenden Sie eine SQL Abfrage, um den Datenstrom in der Datei zu finden und msiRecordSetStream zum Kopieren der Daten aus der Datei in die Datenspalte _Streams Tabelle der zweiten Datenbank zu verwenden. Dadurch wird sichergestellt, dass jede Datenbank über eine eigene Kopie der Binärdaten verfügt. Sie können binäre Daten nicht von einer Datenbank in eine andere verschieben, indem Sie einfach einen Datensatz mit den Daten aus der ersten Datenbank abrufen und sie in die zweite Datenbank einfügen.

Um einen Datenstrom zu löschen, rufen Sie den Datensatz ab und legen Sie die Datenspalte auf Null fest, bevor Sie den Datensatz aktualisieren. Eine andere Methode besteht darin, den Datensatz aus der Tabelle zu entfernen, indem sie entweder msiViewModify oder eine einfache SQL Abfrage verwendet. Ein Datenstrom sollte nicht in einen Datensatz abgerufen werden, wenn der Datenstrom aus der Tabelle gelöscht wird.

Um einen OLE-Datenstrom umzubenennen, aktualisieren Sie die Spalte "Name" des Datensatzes.

Wenn ein Haltezeichen in dieser Tabelle mit SQL (ALTER TABLE) platziert wird

HOLD) oder eine Spalte wird mit HOLD hinzugefügt, die Tabelle muss mit FREE freigegeben werden. Streams werden erst geschrieben, wenn die Tabelle veröffentlicht oder verpflichtet wurde.