_Flux Tableau

le _ tableau Flux 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 Text O N
Données Binaire N O

Colonnes

Nomme

Clé unique qui identifie le flux. La longueur maximale du nom est de 62 caractères.

Métadonnée

Données binaires non mises en forme.

Notes

pour copier un flux de données OLE (par exemple, un objet du type de données Binary ) d’un fichier dans une base de données, créez un enregistrement dans la _ table Flux et entrez le nom du flux de données dans la colonne nom de cet enregistrement, puis 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 binaires 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 binaires d’une base de données vers une autre, exportez d’abord les données dans un fichier. utilisez une requête de SQL pour trouver le flux de données dans le fichier et utilisez MsiRecordSetStream pour copier les données du fichier dans la colonne de données de _ Flux table de la deuxième base de données. Cela garantit que chaque base de données possède 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 extrayant 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 affectez la valeur null à la colonne de données 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 simple SQL. Un flux ne doit pas être extrait 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 un blocage est placé 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é libérée ou validée.