Partager via


Procédure pas à pas : création et déploiement d'un projet de base de données qui utilise un objet CLR SQL

Pour créer et déployer une base de données qui utilise un assembly CLR SQL (Common Language Run-time SQL Server), créez un projet de base de données et un projet CLR SQL. Lorsque vous générez et déployez le projet de base de données, vous déployez automatiquement et simultanément l'assembly CLR SQL qu'il référence.

Dans cette procédure pas à pas, vous exécuterez les tâches suivantes :

  • Créer un projet de base de données simple.

  • Créer un projet CLR SQL et définir un nouveau type de données.

  • Utiliser le type que vous avez défini dans l'assembly CLR SQL.

  • Générer et déployer le projet de base de données.

Composants requis

Visual Studio 2010 Premium doit être installé pour pouvoir effectuer cette procédure. Vous devez avoir accès à une instance de SQL Server 2005 ou de SQL Server 2008. Vous devez avoir installé les exemples de code pour SQL Server à partir du site Web de CodePlex. Vous devez disposer des autorisations suivantes pour déployer une base de données sur votre serveur de base de données.

Créer un projet de base de données

Pour créer un projet de base de données

  1. Dans le menu Fichier, pointez sur Nouveau, puis cliquez sur Projet.

    La boîte de dialogue Nouveau projet s'affiche.

  2. Sous Modèles installés, développez le nœud Base de données, puis cliquez sur le nœud SQL Server.

    Notes

    Si vous utilisez Visual Studio 2010 Professional, vous devez également développer le nœud Avancé avant de cliquer sur SQL Server.

  3. Dans la liste des modèles, cliquez sur Projet de base de données SQL Server 2008.

  4. Dans la zone Nom, tapez SQLClrDatabaseSandbox.

    Important

    Dans les zones Emplacement et Nom de solution, ne modifiez pas les valeurs par défaut.

  5. Activez la case à cocher Créer le répertoire pour la solution si elle ne l'est pas déjà.

  6. Désactivez la case à cocher Ajouter au contrôle de code source si elle ne l'est pas déjà, puis cliquez sur OK.

    Le projet de base de données vide s'affiche dans l'Explorateur de solutions.

    Ensuite, créez un projet pour l'assembly CLR SQL.

Créer un projet CLR SQL

Pour créer un projet CLR SQL

  1. Dans le menu Fichier, pointez sur Ajouter, puis cliquez sur Projet.

    La boîte de dialogue Nouveau projet s'affiche.

  2. Dans Types de projets, développez le nœud Base de données et cliquez sur SQL Server.

  3. Dans la liste Modèles, cliquez sur Projet serveur de projet de base de données CLR SQL Visual Basic ou Projet de base de données CLR SQL Visual C#.

  4. Dans la zone Nom, tapez SupportingSQLClrObjects.

  5. Cliquez sur OK pour accepter l'emplacement par défaut, fermer la boîte de dialogue et créer le projet.

    Le projet de base de données vide s'affiche dans l'Explorateur de solutions.

  6. Dans la boîte de dialogue Ajouter une référence de base de données, cliquez sur Annuler.

    En cliquant sur Annuler, vous autorisez le projet de base de données à déterminer à quel emplacement l'assembly sera déployé.

    Ensuite, créez un type de données personnalisé dans l'assembly CLR SQL.

Pour définir un type de données CLR SQL personnalisé

  1. Dans le menu Projet, cliquez sur Ajouter un type défini par l'utilisateur.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

  2. Dans la zone Nom, tapez MyCustomType.cs.

    L'éditeur de code s'ouvre et affiche le contenu de MyCustomType.cs.

    Notes

    À ce stade, vous devez modifier le type défini par l'utilisateur par défaut pour fournir une implémentation qui réponde à vos exigences. Pour cette procédure pas à pas, vous accepterez l'implémentation par défaut. Pour plus d'informations sur la définition de types personnalisés et d'autres objets CLR SQL, consultez la rubrique suivante sur le site Web Microsoft : Utilisation de l'intégration CLR dans SQL Server 2005.

  3. Dans le menu Fichier, cliquez sur Enregistrer MyCustomType.cs.

Pour configurer et générer l'assembly CLR SQL

  1. Dans le menu Générer, cliquez sur Gestionnaire de configurations.

    La boîte de dialogue Gestionnaire de configurations s'affiche.

  2. Dans Contextes des projets, désactivez la case à cocher Déployer sur la ligne de l'assembly SupportingSQLClrObjects.

    En désactivant la case à cocher, vous empêchez le déploiement de l'assembly lorsque vous déployez la solution. Étant donné que l'assembly sera déployé avec le projet de base de données, vous ne voulez pas déployer l'assembly à deux reprises.

  3. Cliquez sur Fermer.

  4. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet SupportingSQLClrObjects, puis cliquez sur Générer.

    L'assembly est généré sans erreur.

    Ensuite, référencez le nouvel assembly et utilisez le type que vous avez défini dans cet assembly.

Utiliser le type défini dans l'assembly CLR SQL

Pour utiliser le type que vous avez défini dans l'assembly SQCLR, vous devez ajouter une référence de votre projet de base de données à cet assembly. Définissez ensuite le nouveau type de données dans votre projet de base de données afin que vous puissiez utiliser l'utiliser dans les définitions d'objet.

Pour ajouter une référence à un assembly CLR SQL

  1. Dans l'Explorateur de solutions, développez le projet SQLClrDatabaseSandbox, cliquez avec le bouton droit sur le nœud Références, puis cliquez sur Ajouter une référence.

    Notes

    Vous pouvez également cliquer sur le projet SQLClrDatabaseSandbox dans l'Explorateur de solutions, ouvrir le menu Projet et cliquer sur Ajouter une référence.

    La boîte de dialogue Ajouter une référence s'ouvre.

  2. Sous l'onglet Projets, vérifiez que le projet SupportingSQLClrObjects est mis en surbrillance, puis cliquez sur OK.

    Une référence au projet CLR SQL est ajoutée à votre projet de base de données.

  3. Dans l'Explorateur de solutions, développez le nœud Références, cliquez sur le nœud SupportingSQLClrObjects et appuyez sur F4.

    Les propriétés de la référence apparaissent.

  4. Vérifiez que Copie locale a la valeur True et que le Niveau d'autorisation a la valeur Sécurisé.

  5. Dans la propriété Nom de l'assembly, remplacez SqlClassLibrary par SupportingSQLClrObjects.

  6. Dans la propriété Propriétaire, tapez dbo.

    Vous pouvez spécifier un autre propriétaire.

  7. Dans le menu Fichier, cliquez sur Enregistrer tout.

    Les propriétés que vous avez spécifiées contrôlent l'instruction CREATE ASSEMBLY créée lorsque vous générez le projet.

    Ensuite, définissez un type de données qui utilise l'assembly produit par le projet CLR SQL.

Pour définir le nouveau type de données

  1. Dans le menu Affichage, cliquez sur Liste d'erreurs et Vue Schéma de base de données.

  2. Développez le nœud SQLClrDatabaseSandbox, développez le nœud Schémas, développez le nœud dbo, puis développez le nœud Programmabilité.

  3. Cliquez avec le bouton droit sur le nœud Types, pointez sur Ajouter, puis cliquez sur Type défini par l'utilisateur (CLR).

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

  4. Dans la liste Modèles, vérifiez que Type défini par l'utilisateur (CLR) est mis en surbrillance.

  5. Dans la zone Nom, tapez MyCustomType et cliquez sur Ajouter.

    L'éditeur Transact-SQL apparaît et affiche la définition du type. Dans la fenêtre Liste d'erreurs, l'erreur suivante apparaît :

SR0029 : Microsoft.Validation : User Defined Type: [dbo].[MyCustomType] has an unresolved reference to Assembly [assembly_name]
  1. Dans l'éditeur Transact-SQL, mettez à jour le code comme suit :

    CREATE TYPE [dbo].[MyCustomType]
    EXTERNAL NAME [SupportingSQLClrObjects].[MyCustomType]
    
  2. Dans le menu Fichier, cliquez sur Enregistrer MyCustomType.udtclr.sql.

    Dans la fenêtre Liste d'erreurs, l'erreur disparaît car vous avez mis à jour la définition de type pour faire référence à un assembly et une classe valides.

    Ensuite, définissez une table simple qui utilise le nouveau type de données.

Pour utiliser le nouveau type de données dans une définition de table

  1. Dans Vue Schéma, ouvrez le nœud Schémas et ouvrez le nœud dbo.

  2. Cliquez avec le bouton droit sur le nœud Tables, pointez sur Ajouter, puis cliquez sur Table.

    La boîte de dialogue Ajouter un nouvel élément s'affiche.

  3. Dans la liste Modèles, vérifiez que Table est mis en surbrillance.

  4. Dans la zone Nom, tapez SimpleTable et cliquez sur Ajouter.

    L'éditeur Transact-SQL apparaît et affiche la définition de la table.

  5. Dans l'éditeur Transact-SQL, mettez à jour le code comme suit :

    CREATE TABLE [dbo].[SimpleTable]
    (
    column_1 int NOT NULL, 
    column_2 [dbo].[MyCustomType] NULL
    )
    
  6. Dans le menu Fichier, cliquez sur Enregistrer dbo.SimpleTable.table.sql.

    Ensuite, configurez le projet de base de données, puis déployez-le dans un environnement de développement isolé.

Générer et déployer le projet de base de données

Pour configurer les paramètres de génération

  1. Dans l'Explorateur de solutions, cliquez sur SQLClrDatabaseSandbox.

  2. Dans le menu Projet, cliquez sur Propriétés de SQLClrDatabaseSandbox.

  3. Cliquez sur l'onglet Générer et passez en revue les paramètres par défaut.

    Dans cette procédure pas à pas, vous pouvez utiliser les paramètres par défaut.

    Ensuite, configurez les paramètres de déploiement.

Pour configurer les paramètres de déploiement

  1. Cliquez sur l'onglet Déployer.

  2. Dans la liste Déployer une action, cliquez sur Créer un script de déploiement (.sql) et le déployer vers la base de données.

  3. Dans la liste Configurer les paramètres de déploiement pour, cliquez sur Mon environnement de développement isolé.

    En spécifiant ce paramètre, vous configurez les valeurs qui affectent uniquement votre environnement de développement isolé. Vous ne changerez pas les paramètres pour le projet de base de données.

  4. Dans Nom du script de déploiement, acceptez la valeur par défaut.

  5. Dans Paramètres de la base de données cible, cliquez sur Modifier pour spécifier une connexion cible.

  6. Dans la boîte de dialogue Propriétés de connexion, spécifiez une connexion au serveur et à la base de données dans lesquels vous souhaitez déployer le projet de base de données, puis cliquez sur OK.

  7. Dans Nom de la base de données cible, acceptez la valeur par défaut.

  8. Dans la liste Fichier de configuration de déploiement, cliquez sur Properties\Database.deploymentconfig.

    Par défaut, votre environnement de développement isolé n'est pas associé à un jeu de paramètres de déploiement détaillés. Lorsque vous spécifiez ce fichier, vous utilisez les paramètres de déploiement associés au projet de base de données. Vous pouvez également créer un fichier de configuration distinct et modifier les paramètres pour votre environnement de développement isolé.

  9. Dans la liste Fichier de variables de la commande SQL, cliquez sur Properties\Database.sqlcmdvars.

  10. Dans le menu Fichier, cliquez sur Enregistrer tout.

    Ensuite, vous générez le projet de base de données.

Pour générer et déployer le projet de base de données

  1. Dans le menu Générer, cliquez sur Générer la solution.

    Le projet de base de données et le projet d'assembly CLR SQL sont correctement générés.

  2. Dans le menu Générer, cliquez sur Déployer la solution.

    Le projet de base de données et l'assembly CLR SQL sont déployés sur le serveur cible et dans la base de données que vous avez spécifiés dans les paramètres de déploiement. Dans la fenêtre Sortie, le message suivant apparaît :

    ========== Déploiement : 1 a réussi, 0 a échoué, 1 a été ignoré ==========

    Le projet de base de données a été déployé avec succès. Lorsque vous avez déployé le projet de base de données, vous avez également déployé l'assembly CLR SQL. L'assembly CLR SQL ne devait pas être déployé distinctement, c'est pourquoi il a été ignoré lorsque vous avez déployé la solution.

Mettre le projet à disposition de l'équipe (facultatif)

Pour ajouter votre projet au contrôle de version

  1. Dans l'Explorateur de solutions, cliquez sur le nœud SQLClrDatabaseSandbox.

  2. Dans le menu Fichier, pointez sur Contrôle de code source, puis cliquez sur Ajouter la solution au contrôle de code source.

    À ce stade, vous interagissez avec le logiciel de contrôle de version installé. Cette procédure pas à pas fournit des étapes permettant d'ajouter votre projet à Visual Studio Team Foundation Server. Si vous voulez utiliser un autre logiciel de contrôle de version, substituez les étapes équivalentes. Si vous utilisez Team Foundation Server, la boîte de dialogue Se connecter à Team Foundation Server s'affiche.

  3. Dans Se connecter à Team Foundation Server, cliquez sur le serveur qui héberge le projet d'équipe auquel vous voulez ajouter votre solution.

    Notes

    Si vous n'avez pas de projet d'équipe auquel vous pouvez ajouter le projet de base de données, consultez Planification et suivi de projets.

  4. Dans Projets d'équipe, cliquez sur le projet d'équipe auquel vous voulez ajouter le projet de base de données, puis cliquez sur OK.

    La boîte de dialogue Ajouter la solution SQLClrDatabaseSandbox au contrôle de code source s'affiche.

  5. Cliquez sur OK pour accepter les valeurs par défaut.

    Votre projet de base de données et les fichiers qu'il contient sont placés sous contrôle de version. Initialement, ils sont encore extraits. Vous devez les archiver pour que d'autres membres de l'équipe puissent y accéder.

  6. Dans le menu Affichage, pointez sur Autres fenêtres, puis cliquez sur Modifications en attente.

    La fenêtre Modifications en attente s'affiche.

  7. Dans le champ Commentaire, tapez Création de projet de base de données initial.

  8. Dans la fenêtre Modifications en attente, cliquez sur Archiver dans la barre d'outils.

    La boîte de dialogue Progression de l'archivage s'affiche pendant l'archivage du projet de base de données et des fichiers qu'il contient. Dans l'Explorateur de solutions, les icônes changent pour montrer que les fichiers sont archivés dans le contrôle de version.

Étapes suivantes

Vous pouvez ensuite créer des tests unitaires de base de données et un plan de génération de données pour tester l'assembly. Pour plus d'informations, consultez Configuration de projets de base de données et réalisation d'un déploiement de tests.

Voir aussi

Concepts

Démarrage du développement en équipe de bases de données

Démarrage du développement en équipe de bases de données faisant référence à d'autres bases de données

Démarrage du développement en équipe de bases de données faisant référence à des objets SQLCLR

Démarrage du développement en équipe de bases de données faisant référence à des objets serveur partagés

Autorisations requises pour les fonctionnalités de base de données de Visual Studio