_Streams Tabelle

In _ der Streams Tabelle werden eingebettete OLE-Datenströme aufgelistet. Dies ist eine temporäre Tabelle, die nur erstellt wird, wenn von einer SQL Anweisung darauf verwiesen wird.

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

Spalten

Namen

Ein eindeutiger Schlüssel, der den Stream 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, geben Sie den Namen des Datenstroms in die Spalte Name dieses Datensatzes ein, und kopieren Sie die Daten aus der Datei mit msiRecordSetStreamin die Spalte Daten. Verwenden Sie MsiViewModify, um den neuen Datensatz in die Tabelle einzufügen.

Verwenden Sie zum Lesen eines in eine Datenbank eingebetteten binären Datenstroms eine SQL Abfrage, um den Datensatz mit den Binärdaten zu suchen und abzurufen. Verwenden Sie MsiRecordReadStream, um die Binärdaten in einen Puffer zu lesen.

Um einen binären Datenstrom aus einer Datenbank in eine andere zu verschieben, exportieren Sie die Daten zunächst in eine Datei. Verwenden Sie eine SQL Abfrage, um den Datenstrom in der Datei zu suchen, 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äre Daten nicht einfach aus einer Datenbank in eine andere verschieben, indem Sie 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 auf NULL fest, bevor Sie den Datensatz aktualisieren. Eine andere Methode besteht darin, den Datensatz aus der Tabelle zu entfernen und ihn entweder mit MsiViewModify oder einer einfachen SQL Abfrage zu löschen. Ein Stream sollte nicht in einen Datensatz abgerufen werden, wenn der Stream aus der Tabelle gelöscht wird.

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

Wenn diese Tabelle mithilfe von SQL (ALTER TABLE) gehalten wird

HOLD) oder eine Spalte mit HOLD hinzugefügt wird, muss die Tabelle mit FREE freigegeben werden. Streams werden erst geschrieben, nachdem die Tabelle freigegeben oder ein Commit ausgeführt wurde.