Partager via


Exemple de gestion Readme_Large Object (LOB)

Cet exemple fonctionne uniquement avec SQL Server 2005 et SQL Server 2008. Il ne fonctionnera pas avec les versions de SQL Server antérieures à SQL Server 2005.

L'exemple HandlingLOBUsingCLR pour SQL Server illustre le transfert d'objets LOB (Large Objects) entre SQL Server et un système de fichiers qui est disponible pour le 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.

ms160944.note(fr-fr,SQL.100).gifRemarque :
Lorsque vous compilez les exemples SQLCLR, le chemin d'accès de la version du compilateur .NET Framework disponible dans SQL Server doit correspondre au premier répertoire Framework figurant dans la variable d'environnement PATH. L'emplacement du compilateur fourni avec SQL Server est lecteur:\WINNT\Microsoft.NET\Framework\v2.0.xxxxx ou lecteur:\Windows\Microsoft.NET\Framework\v2.0.xxxxx, où lecteur est le lecteur d'installation et xxxxx le numéro de version du .NET Framework fourni avec SQL Server.

Le répertoire d'installation par défaut est C:\Program Files\Microsoft SQL Server\100\Samples\Engine\Programmability\CLR\HandlingLOBUsingCLR.

Les exemples SQL Server et les exemples de bases de données doivent être téléchargés et installés avant que vous ne puissiez les afficher ou les utiliser. Pour plus d'informations, consultez Considérations relatives à l'installation d'exemples de bases de données et d'exemples de code SQL Server.

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 :

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

  1. Ouvrez une invite de commandes de 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 du .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.

  2. À l'invite de commandes, utilisez la commande CD (changer de répertoire) pour remplacer le dossier actif dans la fenêtre de l'invite par le dossier Samples.

    ms160944.note(fr-fr,SQL.100).gifRemarque :
    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 et sur Documentation et didacticiels, puis cliquez sur le répertoire Samples. Si l'emplacement d'installation par défaut a été utilisé, les exemples se trouvent dans <system_drive>:\Program Files\Microsoft SQL Server\100\Samples.

  3. À l'invite de commandes, exécutez la commande suivante pour générer le fichier de clé :

    sn -k ExternalSampleKey.snk

    ms160944.note(fr-fr,SQL.100).gifImportant :
    Pour plus d'informations sur la paire de clés avec nom fort, consultez « Security Briefs: Strong Names and Security in the .NET Framework  » (en anglais) dans le Centre de Développement du .NET sur MSDN.

Pour générer l'exemple, procédez comme suit :

Génération de l'exemple

  1. Compilez l'exemple au moyen de Visual Studio 2005 et de la solution Visual Studio fournie, ou à l'aide de MSBuild présent 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

  2. Assurez-vous que la base de données AdventureWorks est installée.

  3. 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.

  4. 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.

  5. 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 :

    • Il supprime les procédures stockées qui vont être définies (s'il y en a).
    • Il annule l'inscription de l'assembly, si elle existe déjà.
    • Il inscrit l'assembly.
    • Il inscrit les procédures stockées clr.
    • Il crée la procédure stockée Transact-SQL appelée par l'une des procédures stockées clr.

Exécution de l'exemple

Pour exécuter l'exemple, procédez comme suit :

Exécuter l'exemple

  1. 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.

  2. 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

  1. 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 ou SQL Server Express 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

Concepts

Exemples de programmabilité CLR

Autres ressources

Concepts de programmation pour l'intégration du CLR

Aide et informations

Assistance sur SQL Server 2008