Utilisation du stockage FILESTREAM dans des applications clientes

Lorsque vous utilisez FILESTREAM pour stocker des données d'objet blob, vous pouvez utiliser des API Win32 pour travailler avec les fichiers. Pour prendre en charge l'utilisation de données d'objet blob FILESTREAM dans les applications Win32, SQL Server fournit les fonctions et API suivantes :

  • PathName retourne un chemin d'accès en tant que jeton à un objet blob. Une application utilise ce jeton pour obtenir un descripteur Win32 et traiter des données BLOB.

  • GET_FILESTREAM_TRANSACTION_CONTEXT () retourne un jeton qui représente la transaction actuelle d'une session. Une application utilise ce jeton pour lier des opérations de diffusion en continu de système de fichiers FILESTREAM à la transaction.

  • L'API OpenSqlFilestream obtient un descripteur de fichier Win32. L'application utilise le descripteur pour transmettre en continu les données FILESTREAM et peut ensuite passer le descripteur aux API Win32 suivantes : , , , , ou . Si l'application appelle toute autre API en utilisant le descripteur, une erreur ERROR_ACCESS_DENIED est retournée. L'application doit fermer le descripteur à l'aide de CloseHandle.

Tout l'accès au conteneur de données FILESTREAM est effectué dans une transaction SQL Server. Les instructions Transact-SQL peuvent être exécutées dans la même transaction afin de maintenir la cohérence entre les données SQL et les données FILESTREAM.

Exemples

Vous trouverez des exemples FILESTREAM sur la page Microsoft SQL Server Samples and Community Projects sur le site Web CodePlex (en anglais).