Share via


Procédure : définir des données volumineuses (OLE DB)

Pour transmettre un pointeur à son propre objet de stockage, le consommateur crée un accesseur qui lie la valeur de la colonne BLOB, puis appelle les méthodes IRowsetChange::SetData ou IRowsetChange::InsertRow.

Procédures

Pour définir des données BLOB

  1. Créez une structure DBOBJECT décrivant la manière dont la colonne BLOB doit être accessible. Définissez l'élément dwFlag de la structure DBOBJECT à STGM_READ, puis définissez l'élément iid sur IID_ISequentialStream (interface à exposer).

  2. Définissez les propriétés du groupe de propriétés DBPROPSET_ROWSET de sorte que l'ensemble de lignes puisse être mis à jour.

  3. Créez un jeu de liaisons (une pour chaque colonne) en utilisant un tableau de structures DBBINDING. Définissez l'élément wType dans la structure DBBINDING sur DBTYPE_IUNKNOWN, puis l'élément pObject de sorte qu'il pointe vers la structure DBOBJECT que vous avez créée.

  4. Créez un accesseur à l'aide des informations de liaison du tableau des structures DBBINDINGS.

  5. Appelez la méthode GetNextRows pour extraire les lignes suivantes dans l'ensemble de lignes. Appelez la méthode GetData pour lire les données de l'ensemble de lignes.

  6. Pour définir les données, créez un objet de stockage contenant les données (ainsi que l'indicateur de longueur), puis appelez IRowsetChange::SetData (ou IRowsetChange::InsertRow) avec l'accesseur qui lie la colonne BLOB.

Remarques

L'exemple de code complet se trouve dans le fichier WorkingWithBLOBs.cpp. Vous pouvez télécharger une archive contenant l'exemple à partir de la page des Téléchargements SQL Server sur MSDN.

Cet exemple a été développé à l'aide de Microsoft Visual C++ 2005.

Remarque relative à la sécuritéRemarque relative à la sécurité

Si possible, utilisez l'authentification Windows. Si l'authentification Windows n'est pas disponible, invitez les utilisateurs à entrer leurs informations d'identification au moment de l'exécution. Évitez de stocker ces informations dans un fichier. Si vous devez rendre les informations d'identification persistantes, chiffrez-les avec l'API de chiffrement Win32.