Gestion des objets LOB (Large OBject)
Mis à jour : 5 décembre 2005
L'exemple HandlingLOBUsingCLR pour SQL Server 2005 illustre le transfert d'objets LOB (Large OBjects) entre SQL Server et un système de fichiers qui est disponible au serveur au moyen de procédures stockées du Common Language Runtime (CLR). Cet exemple montre comment accéder à des fichiers dans du code côté serveur et comment appeler ensuite des requêtes dynamiques et des procédures stockées à partir de procédures stockées CLR. Il montre également comment inscrire et désinscrire des méthodes et des assemblys CLR à l'aide de Transact-SQL.
Le répertoire d'installation par défaut est lecteur:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\HandlingLOBUsingCLR.
Scénario
Un développeur souhaite copier des images entre SQL Server et le système de fichiers sur le serveur.
Langages
Transact-SQL, Visual C# et Visual Basic.
Fonctionnalités
L'exemple HandlingLOBUsingCLR utilise les fonctionnalités suivantes de SQL Server :
Domaine d'application | Fonctionnalités |
---|---|
Global |
Procédures stockées CLR ; appel de procédures stockées Transact-SQL à partir de procédures stockées CLR ; type de données VARBINARY(MAX). |
Configuration préalable requise
Avant d'exécuter cet exemple, assurez-vous que les logiciels suivants sont installés :
- SQL Server 2005 ou SQL Server 2005 Express Edition (SQL Server Express). Vous pouvez obtenir SQL Server Express gratuitement à partir du site Web SQL Server 2005 Express Edition Documentation et exemples.
- Base de données AdventureWorks fournie avec SQL Server 2005 et également disponible sur le site Web du SQL Server Developer Center (Centre des développeurs SQL Server).
- Les exemples moteur de base de données SQL Server 2005. Ces exemples accompagnent SQL Server 2005. Vous pouvez télécharger la dernière version des exemples sur le site Web du SQL Server Developer Center (Centre des développeurs SQL Server).
- Kit de développement .NET Framework SDK 2.0 ou Microsoft Visual Studio 2005. Vous pouvez obtenir gratuitement le Kit de développement .NET Framework SDK. Consultez Installation du SDK .NET Framework.
Génération de l'exemple
Si vous n'avez pas déjà créé le fichier de clé de nom fort ExternalSampleKey.snk, utilisez la procédure suivante pour générer ce fichier.
Pour générer un fichier de clé de nom fort
Ouvrez une invite de commandes Microsoft Visual Studio 2005. Cliquez sur Démarrer, pointez successivement sur Tous les programmes, sur Microsoft Visual Studio 2005 et sur Outils Visual Studio, puis cliquez sur Invite de commandes de Visual Studio 2005.
- ou -
Ouvrez une invite de commandes de Microsoft .NET Framework. Cliquez sur Démarrer, pointez sur Tous les programmes et sur Kit de développement Microsoft .NET Framework SDK 2.0, puis cliquez sur Invite de commandes du Kit de développement SDK.
À l'invite de commandes, utilisez la commande CD (changer de répertoire) pour remplacer le dossier actif de la fenêtre d'invite de commandes par le dossier dans lequel les exemples sont installés.
Remarque : Pour déterminer le dossier dans lequel se trouvent les exemples, cliquez sur Démarrer, pointez successivement sur Tous les programmes, sur Microsoft SQL Server 2005 et sur Documentation et didacticiels, puis cliquez sur le répertoire Exemples. Si l'emplacement d'installation par défaut a été utilisé, les exemples se trouvent dans <system_drive>:\Program Files\Microsoft SQL Server\90\Samples. À l'invite de commandes, exécutez la commande suivante pour générer le fichier de clé :
sn -k ExternalSampleKey.snk
Important : Pour plus d'informations sur la paire de clés de nom fort, consultez l'article de sécurité concernant les noms forts et la sécurité dans .NET Framework, dans le Centre de développement .NET sur MSDN.
Pour générer l'exemple, procédez comme suit :
Génération de l'exemple
Compilez l'exemple au moyen de Visual Studio 2005 et de la solution Visual Studio fournie, ou à l'aide de Microsoft MSBuild disponible dans le Kit de développement logiciel .NET Framework SDK 2.0. À partir de l'invite de commandes, exécutez une commande semblable à celle-ci :
msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\HandlingLOBUsingCLR.sln
Assurez-vous que la base de données AdventureWorks est installée.
Si vous n'avez pas installé les exemples du moteur de base de données SQL Server à l'emplacement par défaut, modifiez le chemin d'accès dans la section CREATE ASSEMBLY du script dans Scripts\InstallCS.sql et Scripts\InstallVB.sql afin de désigner l'emplacement d'installation des exemples.
Si vous n'êtes pas un administrateur de l'instance de SQL Server que vous utilisez, demandez à un administrateur de vous accorder l'autorisation CreateAssembly pour effectuer l'installation.
Ouvrez le fichier scripts\installCS.sql ou scripts\installVB.sql, selon que vous avez compilé le projet Visual C# ou Visual Basic, dans SQL Server Management Studio. Exécutez le script contenu dans le fichier ou exécutez une commande semblable à la suivante à l'invite de commandes :
sqlcmd -E -I -i Scripts\InstallCS.sql
Ce script effectue les tâches suivantes :
Exécution de l'exemple
Pour exécuter l'exemple, procédez comme suit :
Exécution de l'exemple
Pour lire une image à partir d'une base de données, appelez un script semblable au suivant :
exec GetPhotoFromDB 70, 'C:\Temp\', 'test6.gif'
go
Assurez-vous que le répertoire spécifié existe.
Pour écrire une image dans la base de données, appelez un script semblable au suivant :
exec PutPhotoIntoDB 70, 'C:\Temp\', 'test1.gif'
go
Toute erreur sera signalée dans le fichier error.log dans le répertoire spécifié. Pour voir des scripts semblables à ceux de cette procédure, consultez le fichier Scripts\test.sql.
Suppression de l'exemple
Pour supprimer l'exemple, procédez comme suit :
Suppression de l'exemple
Ouvrez le fichier scripts\cleanup.sql dans Management Studio et exécutez le script que contient le fichier. Vous pouvez également exécuter la commande suivante à l'invite de commandes :
sqlcmd -E -I -i Scripts\cleanup.sql
Commentaires
Pour que cet exemple fonctionne correctement, le CLR pour SQL Server 2005 ou SQL Server 2005 Express Edition doit être activé.
Les exemples sont fournis à titre éducatif uniquement. Ils ne sont pas destinés à être utilisés dans un environnement de production et n'ont pas été testés à cet usage. Microsoft ne fournit aucun support technique pour ces exemples. Les exemples d'applications et les assemblys ne doivent pas être utilisés avec votre base de données SQL Server de production ou votre serveur de rapports, ou y être connectés, sans l'autorisation de l'administrateur système.
Voir aussi
Tâches
Gestion d'objet LOB (Large Binary Object) avec ADO.NET
Concepts
Exemples de programmabilité CLR
Autres ressources
Database Engine .NET Framework Programming
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
5 décembre 2005 |
|