Freigeben über


_Streams Tabelle

In der _Streams Tabelle sind eingebettete OLE-Datenströme aufgeführt. Dies ist eine temporäre Tabelle, die nur erstellt wird, wenn von einer SQL-Anweisung verwiesen wird.

Spalte Art Schlüssel Nullable
Name Y N
Daten Binäre N Y

 

Spalten

Name

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

Daten

Die unformatierten Binärdaten.

Bemerkungen

Um einen OLE-Datenstrom (z. B. ein Objekt des datentyps Binary) 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 mithilfe von MsiRecordSetStreamin die Datenspalte. 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 zu suchen und abzurufen, der die Binärdaten enthält. Verwenden Sie MsiRecordReadStream-, um die Binärdaten in einen Puffer zu lesen.

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

Um einen Datenstrom zu löschen, rufen Sie den Datensatz ab, und legen Sie die Datenspalte vor dem Aktualisieren des Datensatzes auf NULL fest. Eine weitere Methode besteht darin, den Datensatz aus der Tabelle zu entfernen und ihn mithilfe MsiViewModify oder einer einfachen SQL-Abfrage zu löschen. 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 in dieser Tabelle ein Haltezeichen mit SQL (ALTER TABLE) platziert wird

HOLD) oder eine Spalte mit HOLD hinzugefügt wird, muss die Tabelle mit FREE freigegeben werden. Datenströme werden erst geschrieben, wenn die Tabelle freigegeben oder zugesichert wurde.