Partager via


Exemple Readme_AdventureWorks Cycles CLR Layer

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 AdventureWorksSQLCLRLayer pour SQL Server fournit quelques utilitaires pratiques qui forment une couche supplémentaire de fonctionnalités par-dessus la base de données exemple AdventureWorks. Le premier utilitaire crée des enregistrements de contact pour les diverses catégories de personnes impliquées dans la base de données AdventureWorks. Les informations sur les contacts sont spécifiées en langage XML et sont passées à une procédure stockée écrite en C#. Le deuxième utilitaire crée un type de données Currency défini par l'utilisateur à l'aide de C#. Ce type de données défini par l'utilisateur encapsule un montant et une culture qui permet de déterminer la façon correcte d'exprimer le montant comme valeur monétaire dans la culture en question. Le troisième utilitaire fournit une fonction de conversion monétaire qui retourne une instance du type de données Currency défini par l'utilisateur. Si la base de données AdventureWorks dispose d'un taux de conversion des dollars (USD) vers la devise associée à la culture spécifiée, la fonction de conversion retourne un type de données défini par l'utilisateur Currency avec le montant converti et une culture qui correspond à la culture demandée. Sinon, un type de données Currency défini par l'utilisateur est retourné avec le montant d'origine, qui doit être en USD, avec la culture en-us. Les utilitaires montrent également comment inscrire des méthodes CLR (Common Language Runtime) et des assemblys et annuler leur inscription à l'aide de Transact-SQL.

ms160866.note(fr-fr,SQL.100).gifRemarque :
Les taux de change employés dans cet exemple sont fictifs et ne doivent pas être utilisés pour de véritables transactions financières.

Lorsque vous compilez les exemples SQLCLR, notez que le chemin d'accès de la version du compilateur Microsoft .NET Framework disponible dans SQL Server doit être le premier répertoire .NET Framework de la variable d'environnement PATH. L'emplacement du compilateur est le lecteur:\WINNT\Microsoft.NET\Framework\v2.0.xxxxx ou le lecteur:\Windows\Microsoft.NET\Framework\v2.0.xxxxxlecteur désigne le lecteur d'installation, et xxxxx la version du .NET Framework fournie avec SQL Server.

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

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 a besoin d'un moyen commode de représenter, de rendre persistants et de manipuler des montants monétaires dans différentes monnaies.
  • Un développeur a besoin d'un moyen commode de créer des informations de contact pour des employés, des clients individuels, des clients de magasin et des fournisseurs. De plus, il souhaite lier ces informations à d'autres informations stockées dans la base de données AdventureWorks.

Langages

Transact-SQL, Visual C# et Visual Basic.

Fonctionnalités

L'exemple de couche SQLCLR utilise les fonctionnalités suivantes de SQL Server.

Domaine d'application Fonctionnalités

Contact

XML

Currency, ConvertCurrency

Type défini par l'utilisateur (UDT) CLR, fonction définie par l'utilisateur (UDF) CLR

Configuration requise

Avant d'exécuter cet exemple, vérifiez que le logiciel suivant est installé :

Génération de l'exemple

Si vous n'avez pas encore créé un fichier de clé de nom fort, 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 Microsoft Visual Studio 2005. 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.

    -- ou --

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

  2. Utilisez la commande CD (changer de répertoire) pour remplacer le dossier actif dans la fenêtre de l'invite de commandes par le dossier dans lequel les exemples sont installés.

    ms160866.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 2005 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 <lecteur_système>:\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 SampleKey.snk

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

Utilisez la même procédure pour créer un fichier de clé nommé UnsafeSampleKey.snk si vous ne l'avez pas déjà fait.

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

Générer l'exemple

  1. Compilez l'exemple au moyen de Visual Studio 2005 et de la solution Visual Studio fournie, ou à l'aide de Microsoft MSBuild, livré avec le Kit de développement logiciel .NET Framework 2.0 (SDK). À partir de l'invite de commandes, exécutez une commande semblable à celle-ci :

    msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\AdventureWorksCS.sln

  2. Vérifiez 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 2005 à l'emplacement par défaut, modifiez le chemin d'accès dans la partie CREATE ASSEMBLY du script qui se trouve dans Scripts\InstallCS.sql de façon à désigner l'emplacement où vous avez installé ces 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 actions 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.

Exécution de l'exemple

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

Pour exécuter l'exemple

  1. Chargez le fichier Scripts\test.sql dans Management Studio et exécutez-le. Vous pouvez également exécuter la commande suivante à l'invite de commandes :

    sqlcmd -E -I -i Scripts\test.sql

Suppression de l'exemple

Utilisez la procédure suivante pour supprimer l'exemple de couche SQLCLR :

Pour supprimer l'exemple

  1. Chargez et exécutez Scripts\cleanup.sql dans Management Studio. 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

Tâches

Readme_Storefront

Concepts

Exemples de programmabilité CLR

Aide et informations

Assistance sur SQL Server 2008