Couche CLR de la base de données Adventure Works Cycles
L'exemple de couche CLR de la base de données AdventureWorks Cycles SQL Server 2005 fournit quelques utilitaires pratiques qui forment une couche supplémentaire de fonctionnalités par-dessus l'exemple de base de données 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.
Remarque : |
---|
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. |
Le répertoire d'installation par défaut est lecteur:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\CLR\AdventureWorks.
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 2005.
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é :
- SQL Server 2005 ou SQL Server 2005 Express Edition (SQL Server Express). Vous pouvez vous procurer SQL Server Express gratuitement à partir du site Web Documentation et exemples de SQL Server 2005 Express Edition.
- 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 du 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.
- Le 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 encore généré les fichiers de clé de nom fort SampleKey.snk et UnsafeSampleKey.snk, utilisez la procédure suivante pour générer ces fichiers.
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 .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. À partir de l'invite de commandes, exécutez les commandes suivantes pour générer les fichiers de clé :
sn -k SampleKey.snk
sn -k UnsafeSampleKey.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 :
Pour générer l'exemple
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 SDK 2.0. À partir de l'invite de commandes, exécutez une commande semblable à celle-ci :
msbuild /nologo /verbosity:quiet /property:Configuration=Debug CS\AdventureWorksCS.sln
Vérifiez 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 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.
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 le projet 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
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
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, vous devez activer le Common Language Runtime pour SQL Server 2005 ou SQL Server 2005 Express Edition.
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
Concepts
Exemples de programmabilité CLR
Aide et Informations
Assistance sur SQL Server 2005
Historique des modifications
Version | Historique |
---|---|
5 décembre 2005 |
|