Projets SQL Server

Mise à jour : novembre 2007

Vous pouvez utiliser les langages .NET Framework en plus du langage de programmation Transact-SQL pour créer des objets de base de données, tels que procédures stockées et des déclencheurs, ainsi que pour extraire et mettre à jour des données de bases de données Microsoft SQL Server 2005. Le développement d'objets de base de données .NET Framework pour SQL Server à l'aide de code managé présente plusieurs avantages par rapport à Transact-SQL. Pour plus d'informations, consultez Avantages de l'utilisation de code managé pour créer des objets de base de données.

Pour créer un objet de base de données, vous devez créer un projet SQL Server, y ajouter les éléments requis et ajouter le code à ces éléments. Vous devez ensuite générer le projet dans un assembly et le déployer sur SQL Server.

Remarque :

Par défaut, la fonctionnalité d'intégration du Common Language Runtime (CLR) est désactivée dans Microsoft SQL Server. Elle doit être activée pour utiliser les éléments de projet SQL Server. Pour activer l'intégration du CLR, utilisez l'option clr enabled de la procédure stockée sp_configure. Pour plus d'informations, consultez Activation de l'intégration CLR.

Création d'un projet

Pour créer un nouveau projet SQL Server, cliquez sur le menu Fichier, sélectionnez Projet et sélectionnez ensuite Projet SQL Server dans la Nouveau projet, boîte de dialogue. Pour plus d'informations, consultez Comment : créer un projet SQL Server.

Après que vous avez créé le projet SQL Server, la Ajouter une référence de base de données, boîte de dialogue s'affiche. Utilisez cette boîte de dialogue pour ajouter une référence de base de données ou une connexion au projet. Vous pouvez sélectionner une référence de base de données actuellement disponible dans la Explorateur de serveurs/Explorateur de bases de données ou définir une nouvelle connexion. Vous ne pouvez ajouter qu'une seule référence de base de données au projet.

Propriétés du projet

Vous pouvez modifier le Nom d'assembly, qui est le nom du fichier de sortie contenant le manifeste d'assembly. Si vous modifiez le nom de l'assembly, le nom de l'objet de base de données dans la base de données SQL Server est également modifié.

Ajout d'éléments au projet

Les nouveaux projets SQL Server contiennent uniquement des références et des informations sur l'assembly. Pour créer des objets de base de données, vous devez d'abord ajouter des éléments au projet, puis ajouter le code aux éléments. Pour plus d'informations, consultez Modèles d'élément pour les projets SQL Server.

Le tableau suivant répertorie les éléments spécifiques aux projets SQL Server que vous pouvez ajouter.

Élément

Informations supplémentaires

Procédure stockée

Comment : créer et exécuter une procédure stockée SQL Server CLR

Déclencheur

Comment : créer et exécuter un déclencheur SQL Server CLR

Fonction définie par l'utilisateur

Comment : créer et exécuter une fonction définie par l'utilisateur SQL Server CLR

Type défini par l'utilisateur

Comment : créer et exécuter une fonction définie par l'utilisateur SQL Server CLR

Agrégat

Comment : créer et exécuter un agrégat SQL Server CLR

Génération, déploiement et débogage

Lorsque vous générez votre projet, il est compilé dans un assembly qui peut être déployé sur la base de données référencée dans le projet, ainsi que débogué.

Conseil :

Outre la génération, le déploiement et le débogage en trois étapes distinctes, vous pouvez également utiliser la commande Démarrer (F5) ou la commande Exécuter sans débogage (CTRL+F5) pour générer l'assembly, le déployer dans base de données et déboguer l'objet de base de données.

Pour pouvoir déboguer l'objet de base de données, vous devez ajouter le code Transact-SQL à l'élément Test.sql (debug.sql en Visual C++). Le script contenu dans l'élément Test.sql est essentiel lors du débogage, car il exécute dans la base de données les actions nécessaires au démarrage et au test de l'objet de base de données. Lorsqu'il est ajouté à votre projet, l'élément Test.sql contient une structure de code pour un script qui exécute l'action requise dans la base de données. Si votre projet SQL Server contient plusieurs objets de base de données, le script de l'élément Test.sql doit exécuter chaque objet de base de données.

Cette spécification du script de débogage est différente, par exemple, de celle d'un projet Windows Forms qui crée et exécute un programme exécutable indépendant ; les objets de base de données s'exécutent uniquement en réponse à des actions ou à des appels dans la base de données. Par exemple, un déclencheur peut être activé lors de l'insertion d'une nouvelle ligne dans une table. Par conséquent, le script Test.sql doit insérer une nouvelle ligne dans une table pour activer le déclencheur. Les résultats du déclencheur sont affichés dans la Fenêtre Sortie de Visual Studio pour vous permettre de déterminer si le déclencheur fonctionne correctement.

Ensuite, ajoutez le code à l'élément que vous avez ajouté à votre projet SQL Server et à l'élément Test.sql. Vous pouvez rechercher l'exemple de code correspondant à chaque objet de base de données dans les rubriques relatives à l'élément de base de données disponible. Consultez le tableau précédent.

Génération d'un projet SQL Server

Lorsque vous générez votre projet, il est compilé dans un assembly. Si vous utilisez Visual Basic, exécutez les étapes suivantes.

Pour générer un projet SQL Server Visual Basic

  1. Dans l'Explorateur de solutions, sélectionnez le projet.

  2. Dans le menu Générer, cliquez sur Générer<NomProjet>.

Si vous utilisez Visual C#, Visual C++ ou Visual J#, exécutez les étapes suivantes.

Pour générer un projet SQL Server Visual C#, Visual C++ ou Visual J#

  1. Dans l'Explorateur de solutions, sélectionnez la solution.

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

Déploiement de l'assembly sur une base de données

Lorsque vous déployez l'assembly sur la base de données référencée dans le projet, la connexion à la base de données est établie, puis l'assembly est copié vers la base de données où il est enregistré et où ses attributs sont définis. Comme l'assembly est déployé sur une base de données spécifique sur un serveur, si vous créez une nouvelle référence de base de données à une autre base de données située sur le même serveur, l'assembly doit être déployé sur cette deuxième base de données avant de pouvoir être utilisé.

Si vous utilisez Visual Basic, exécutez les étapes suivantes.

Pour déployer un assembly Bibliothèque de classes SQL Server Visual Basic

  1. Dans l'Explorateur de solutions, sélectionnez le projet.

  2. Dans le menu Générer, cliquez sur Déployer<NomProjet>.

Si vous utilisez Visual C#, Visual C++ ou Visual J#, exécutez les étapes suivantes.

Pour déployer un assembly de bibliothèque de classes SQL Server Visual C#, Visual C++ ou Visual J#

  1. Dans l'Explorateur de solutions, sélectionnez la solution.

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

Débogage de l'objet de base de données

Lorsque vous déboguez un objet de base de données, l'assembly est généré, déployé sur la base de données et débogué. Lors du débogage d'un objet de base de données qui a été précédemment généré et déployé, l'assembly n'est à nouveau générée que si le projet a été modifié depuis sa génération précédente. L'assembly est toujours supprimé de la base de données et est à nouveau copié.

Pour déboguer l'objet de base de données

  1. Dans l'Explorateur de solutions, sélectionnez la solution.

  2. Dans le menu Déboguer, cliquez sur Démarrer.

  3. Dans la liste Afficher la sortie à partir de de la fenêtre Sortie, choisissez Sortie de base de données pour afficher les résultats.

Voir aussi

Tâches

Comment : créer un projet SQL Server

Comment : créer et exécuter une procédure stockée SQL Server CLR

Comment : créer et exécuter un déclencheur SQL Server CLR

Comment : créer et exécuter un agrégat SQL Server CLR

Comment : créer et exécuter une fonction définie par l'utilisateur SQL Server CLR

Comment : créer et exécuter un type défini par l'utilisateur SQL Server CLR

Procédure pas à pas : création d'une procédure stockée dans le code managé

Comment : déboguer une procédure stockée SQL CLR

Concepts

Présentation de l'intégration de CLR dans SQL Server (ADO.NET)

Avantages de l'utilisation de code managé pour créer des objets de base de données

Modèles d'élément pour les projets SQL Server

Référence

Attributs pour les projets SQL Server et les objets de base de données

Autres ressources

Débogage d'une base de données SQL CLR