table _Streams
La table _Streams répertorie les flux de données OLE incorporés. Il s’agit d’une table temporaire, créée uniquement lorsqu’elle est référencée par une instruction SQL.
Colonne | Type | Clé | Nullable |
---|---|---|---|
Nom | texte | Y | N |
Données | binaire | N | Y |
Colonnes
-
nom de
-
Clé unique qui identifie le flux. La longueur maximale du nom est de 62 caractères.
-
données
-
Données binaires non mises en forme.
Remarques
Pour copier un flux de données OLE (par exemple, un objet du type de données binaire) à partir d’un fichier dans une base de données, créez un enregistrement dans la table _Streams et entrez le nom du flux de données dans la colonne Name de cet enregistrement et copiez les données du fichier dans la colonne De données à l’aide de MsiRecordSetStream. Utilisez MsiViewModify pour insérer le nouvel enregistrement dans la table.
Pour lire un flux de données binaire incorporé dans une base de données, utilisez une requête SQL pour rechercher et extraire l’enregistrement contenant les données binaires. Utilisez MsiRecordReadStream pour lire les données binaires dans une mémoire tampon.
Pour déplacer un flux de données binaire d’une base de données vers une autre, commencez par exporter les données vers un fichier. Utilisez une requête SQL pour rechercher le flux de données dans le fichier et utiliser MsiRecordSetStream pour copier les données du fichier dans la colonne Données de _Streams table de la deuxième base de données. Cela garantit que chaque base de données a sa propre copie des données binaires. Vous ne pouvez pas déplacer des données binaires d’une base de données vers une autre simplement en récupérant un enregistrement avec les données de la première base de données et en l’insérant dans la deuxième base de données.
Pour supprimer un flux de données, récupérez l’enregistrement et définissez la colonne Données sur Null avant de mettre à jour l’enregistrement. Une autre méthode consiste à supprimer l’enregistrement de la table, en le supprimant à l’aide de MsiViewModify ou d’une requête SQL simple. Un flux ne doit pas être récupéré dans un enregistrement si le flux est supprimé de la table.
Pour renommer un flux de données OLE, mettez à jour la colonne « Name » de l’enregistrement.
Si une conservation est placée sur cette table à l’aide de SQL (ALTER TABLE)
HOLD) ou une colonne est ajoutée avec HOLD, la table doit être libérée à l’aide de FREE. Les flux ne sont pas écrits tant que la table n’a pas été publiée ou validée.