SQL Server 2005

29
Présentation de SQL Server 2005 Par LEBRUN Thomas Date de publication : 9 juin 2005 Cet article a pour but de vous présenter SQL Server 2005, le nouveau Système de Gestion de Bases de Données de Microsoft.

description

SQL Server 2005

Transcript of SQL Server 2005

Page 1: SQL Server 2005

Présentation de SQL Server 2005

Par LEBRUN Thomas

Date de publication : 9 juin 2005

Cet article a pour but de vous présenter SQL Server 2005, le nouveau Système de Gestionde Bases de Données de Microsoft.

Page 2: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 2 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

I - Introduction..............................................................................................................................................................3II - Nouveautés de SQL Server 2005......................................................................................................................... 3III - Installation de SQL Server 2005.......................................................................................................................... 3IV - Description des Configuration Tools.....................................................................................................................8

IV-A - SQL Configuration Manager........................................................................................................................8IV-B - SQL Server Surface Area Configuration................................................................................................... 10

IV-B-1 - Surface Area Configuration for Services and Connections.............................................................. 10IV-B-2 - Surface Area Configuration for Features..........................................................................................12

V - Installation de SQL Server 2005 Express Manager............................................................................................13VI - Utilisation de SQL Server Express Manager..................................................................................................... 14

VI-A - Présentation............................................................................................................................................... 14VI-B - Création d'une base de données.............................................................................................................. 16VI-C - Exécution de requêtes SQL...................................................................................................................... 17

VII - Interaction entre SQL Server 2005 et Visual Studio 2005................................................................................ 18VII-A - Création d'une connexion à la source de données..................................................................................18VII-B - Utilisation: Des exemples par le code......................................................................................................20

VIII - Conclusions.......................................................................................................................................................29IX - Liens....................................................................................................................................................................29X - Téléchargements................................................................................................................................................. 29

Page 3: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 3 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

I - Introduction

SQL Server 2005 (Nom de code: Yukon) est le futur SGBDR (Système de Gestion de Bases de DonnéesRelationnelles) de la plateforme Microsoft.Basé sur les points forts de son prédécesseur (SQL Server 2000), Yukon inclura beaucoup de nouvellesfonctionnalités qui vous permettront, vous et votre Entreprise, de devenir plus productif.Il vous permettra, entre autres choses :

• de créer et déployer des applications plus sûres, plus puissantes et plus fiables ;• de proposer aux développeurs un environnement de développement riche, souple et moderne permettant de

créer des applications de bases de données plus sûres ;• de partager des données entre diverses plates-formes, applications et systèmes pour faciliter les connexions,

tant internes qu'externes.

II - Nouveautés de SQL Server 2005

SQL Server 2005 apportera des changements significatifs dans les secteurs suivants :

• La montée en charge: Des améliorations comme le partitionnement, l'isolement des captures instantanées etla prise en charge des systèmes 64 bits, vous permettront de créer et de déployer vos applications les plusexigeantes ;

• Sécurité: Cryptage de base de données, choix de la sécurité maximale par défaut ;• Gestion: Une nouvelle suite d'outils de gestion de base de données, amélioration du Profiler SQL ;• Interopérabilité: Grâce à une prise en charge étendue des standards, des services Web et de Microsoft .NET

Framework, SQL Server 2005 assure l'interopérabilité entre plates-formes, applications et systèmes.

D'un point de vue du développement, Yukon intégrera également des nouveautés:

• Amélioration des outils: Les développeurs pourront utiliser un outil de développement pour Transact-SQL, XML, MDX (Multidimensional Expression) et XML for Analysis (XML/A). L'intégration avec l'outil dedéveloppement Visual Studio permettra un développement et un débogage plus efficaces des applicationsmétier et décisionnelles ;

• Intégration de la CLR (Common Language Runtime) dans le moteur de base de données: Les développeursauront la possibilité de choisir le langage (C#, VB.NET, Transact-SQL) qu'ils utiliseront pour développer leursapplication de base de données ;

• Support du XML et XQuery ;• Support des Web Services: La prise en charge de standards ouverts, existants ou nouveaux, tels que HTTP

(Hypertext Transfer Protocol), XML, SOAP (Simple Object Access Protocol), XQuery et XSD (XML SchemaDefinition) facilitera également les communications entre systèmes d'entreprise étendus.

Maintenant que nous venons de voir les principales nouveautés de SQL Server 2005, voyons un peu plus commentle mettre en place et l'utiliser.

III - Installation de SQL Server 2005

SQL Server 2005 (Version Express) peut-être téléchargé depuis cette adresse : SQL Server 2005 Express EditionPour installer SQL Server 2005, commencez par double-cliquer sur le fichier SQLEXPR.EXE.

Accepter le contrat de licence puis cliquez sur Next.

À ce moment, les composants nécessaires à l'installation seront mis en place, et il vous faudra cliquer, une nouvellefois, sur Next.

Page 4: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 4 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Votre configuration système sera alors scannée et le Wizard d'installation apparaîtra.

Cliquez alors sur Next pour que l'installeur vérifie les éventuels problèmes d'installation qui pourraient survenir etcliquez sur « Next » :

Entrez alors votre nom et celui de votre Entreprise dans les cases appropriées. En dessous, vous avez la possibilitéde décocher la case « Hide advanced configuration options »: ne désactivez cette case que si vous êtes sûr desavoir ce que vous faites.

Page 5: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 5 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Pour cet article, je désactiverai la case afin de vous montrer/expliquer les différentes étapes possibles de l'installation.

Une fois les informations saisies, vous avez la possibilité de choisir les composants que vous désirez installer : libreà vous de tout choisir ou bien uniquement le strict minimum (sélectionné par défaut)

L'écran suivant vous demande de saisir le nom de l'instance pour l'installation en cours. La plupart du temps, laisserles valeurs par défaut et cliquer sur Next est suffisant :

À présent, il vous faut configurer le compte qui exécutera le service SQL Server. Pour cela, vous avez plusieurspossibilités :

Page 6: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 6 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

• Utiliser un compte Système: Service Réseau (Network Service) est le plus couramment utilisé, il est doncconseillé de garder celui-ci ;

• Utiliser un compte Utilisateur: il vous est possible de créer et d'utiliser un compte utilisateur qui sera encharge d'exécuter ce service. C'est à cet endroit que vous entrez les informations (login, mot de passe et nomde domaine) relatives au compte à utiliser.

La case « AutoStart Service » vous permet de spécifier que vous voulez lancer le service au démarrage de l'ordinateur.

À noter : si vous utilisez la CTP (Community Technology Preview) d'Avril 2005, il vous faudra utiliser l'option CompteSystème et choisir Système Local (Local System) pour éviter que l'installation n'échoue ultérieurement.

La partie suivante concerne l'authentification auprès du serveur SQL. En effet, il faut savoir que vous pouvezconfigurer SQL Server de deux façons :

• Windows Authentication Mode: Utilise les informations de connexion à Windows pour permettre la connexionà SQL Server ;

• Mixed Mode: Mode mixe, vous permettant, en plus du mode Windows Authentication, de créer des logins/motde passe de connexion à SQL Server.

Si vous choisissez le 2e mode (Mixed Mode), il vous sera demandé de spécifier le mode de passe de l'utilisateursa : il s'agit du super administrateur de SQL Server.

Vous devez savoir que vous aurez la possibilité de changer, plus tard, ce type d'authentification dans les propriétésde votre serveur SQL, si vous changez d'avis.

Page 7: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 7 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Finalement, il ne vous reste plus qu'a définir les collations pour le service SQL Server.

Les collations permettent de choisir si la casse, comme les caractères diacritiques et l'encodage auront une influencesur les tris et les comparaisons ( Plus d'informations)

À moins d'être sûr de savoir ce que vous faîtes, laissez les valeurs par défaut et cliquez sur Next :

Pour finir, vous pouvez choisir d'envoyer ou non, à Microsoft, les rapports d'erreurs qui pourraient survenir.

Page 8: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 8 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Un dernier clic sur le bouton Install vous permet, pour finir, de lancer l'installation en elle-même.

Et voila, votre SQL Server 2005 est maintenant installé et configuré avec succès !

Maintenant, voyons un peu plus en détails les outils qui ont été installés avec votre serveur SQL.

IV - Description des Configuration Tools

IV-A - SQL Configuration Manager

SQL Configuration Manager est l'utilitaire qui vous permet de configurer, simplement et rapidement, votre serveurSQL.

Voici un aperçu de son interface graphique :

Page 9: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 9 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Et voici la page de configuration des propriétés :

Page 10: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 10 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Comme vous pouvez le voir, rien de bien compliqué en soit, surtout si vous aviez déjà utilisé une précédente versionde SQL Server.

En effet, c'est dans cette partie que vous pourrez démarrer, arrêter ou bien redémarrer votre instance de SQL Server.

IV-B - SQL Server Surface Area Configuration

Voici l'écran principal de cet outil destiné, lui aussi, à paramétrer certaines options de votre serveur SQL :

Voyons chaque partie un peu plus en détails.

IV-B-1 - Surface Area Configuration for Services and Connections

Sur cet écran, vous aurez la possibilité de configurer les services et les connexions qui seront nécessaires pour vosapplications.

Voici l'écran que vous utiliserez pour configurer les services :

Page 11: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 11 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Et voici la partie que vous utiliserez si vous souhaitez configurer les connexions à utiliser pour vos applications.

Vous avez la possibilité de choisir deux types de connexions :

• Connexions locales uniquement ;• Connexions locales et distantes (en indiquant le type de protocole que vous voulez utiliser).

Voici une image qui vous permettra de mieux comprendre tout cela :

Page 12: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 12 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

IV-B-2 - Surface Area Configuration for Features

Surface Area Configuration for Features est l'utilitaire qui vous permettra de configurer les options de votre ServeurSQL, que vous voulez utiliser.

En effet, c'est ici que vous indiquerez si, pour une certaine instance de SQL Serveur, vous souhaitez activerl'intégration de la CLR (Common Language RunTime) (qui vous permet d'écrire du code .NET dans SQL Serveur),Surface Area Configuration for Features ou bien si vous souhaitez activer Database Mail, le nouveau composant deSQL Server 2005, qui vous permet d'envoyer des e-mails depuis SQL Server, en utilisant un serveur SMTP.

Bref, vous pourrez, via ce menu, activer ou désactiver beaucoup d'options pour votre instance SQL Server, selonque vos applications utilisent ou non ces options.

Page 13: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 13 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

V - Installation de SQL Server 2005 Express Manager

Maintenant que vous venez d'installer et de configurer votre instance de SQL Server 2005, vous voudriez, sansdoute, pouvoir l'utiliser. En effet, un serveur SQL, c'est bien mais encore faut-il pouvoir créer des bases de donnéespour travailler avec.

Pour cela, vous disposez d'un outil tel que Enterprise Manager (pour SQL Server 2000).Malheureusement, cet outil (SQL Server 2005 Express Manager) n'est pas installé par défaut avec SQL Server2005: il vous faut le télécharger depuis cette adresse : Microsoft SQL Server 2005 Express Manager.

Nous allons donc voir comment installer cet outil et ensuite, comment l'utiliser pour pouvoir travailler avec votreserveur SQL.

Pour installer SQL Server Express Manager, double-cliquez sur le fichier ExpressManager.msi puis suivezsimplement les instructions qui s'affichent à l'écran: cette installation ne nécessite aucun paramètre particulier.

Page 14: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 14 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

L'installation se déroule normalement sans problème et vous vous retrouvez avec un nouveau raccourci dans votremenu Démarrer: SQL Server Express Manager qui, une fois exécuté, lance l'outil de gestion des bases de donnéesde SQL Server 2005.

VI - Utilisation de SQL Server Express Manager

VI-A - Présentation

Dès lors que vous lancez SQL Server Express Manager, celui-ci vous demande des informations de connexion, afinde vous logger au serveur SQL.Vous devez donc indiquer :

• le nom de l'instance du serveur (Attention, vous devez également préciser le nom du serveur sur lequel estexécutée cette instance. Par exemple, dans mon cas, il me faut indiquer WIN2K3\SQLExpress comme nomd'instance du serveur SQL) ;

• le type d'authentification: c'est à ce moment que vous allez spécifier si vous voulez vous connecter enutilisant un utilisateur Windows ou un utilisateur du serveur SQL ;

• les logins/mot de passe nécessaires à la connexion.

Voici donc à quoi ressemble cet écran :

Page 15: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 15 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Une fois la connexion réussie, vous vous retrouvez dans la partie principale de SQL Server Express Manager. C'estici que vous pourrez réaliser la plupart des opérations de gestion (ajout/suppression de base de données, etc.).

N'oubliez pas qu'il s'agit encore d'une version BETA, donc toutes les fonctionnalités ne sont pas forcément encoreimplémentées.

Le volet gauche de l'application contient la liste de toutes les bases de données système installées, ainsi que tousles comptes du serveur SQL, tandis que le volet de droite contient une zone de texte vous permettant de saisir vosrequêtes SQL.

Page 16: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 16 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Vous pouvez également voir, en haut de l'arborescence de la partie gauche, l'instance SQL a laquelle vous êtesconnecté, son numéro de version ainsi que le nom d'utilisateur utilisé pour la connexion.

VI-B - Création d'une base de données

Pour créer une nouvelle base de données, faites un clic droit, dans le panneau de gauche, sur « Databases » etchoisissez « New Database ».

À ce moment là, le coté droit de l'application affichera un nouvel onglet dans lequel vous devrez spécifier le nom etl'emplacement de la base de données que vous voulez créer.

Page 17: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 17 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Une fois créée, votre nouvelle base de données apparaît dans la liste de gauche, en dessous des « SystemDatabases ».

Comme vous le voyez, créer une base de données est donc extrêmement simple.

Vous pouvez afficher les propriétés de votre base de données en faisant un clic droit sur son nom et en choisissant« Properties ».

VI-C - Exécution de requêtes SQL

Pour exécuter des requêtes SQL sur votre base de données, vous devez :

• sélectionner la base de données sur laquelle vous voulez travailler (en utilisant la ComboBox située en haut àdroite ou en utilisant la requête SQL: use la_base_de_donnee) ;

• écrire le code de votre requête SQL ;• appuyer sur Ctrl+F5 pour parser votre requête SQL et vous assurer quelle ne comporte pas d'erreurs ;• appuyer sur F5 pour exécuter votre requête SQL.

Et votre requête SQL est exécutée sur le serveur.

Page 18: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 18 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Comme vous pouvez le voir, la visualisation du résultat est immédiate dans l'arborescence de gauche et l'on distinguevisuellement les différentes colonnes de la table (clé primaire, clés étrangères, etc.).

VII - Interaction entre SQL Server 2005 et Visual Studio 2005

Comme cela a déjà été expliqué, SQL Server 2005 s'intègre parfaitement avec la suite des logiciels Microsoft, etdonc par conséquent, avec Visual Studio 2005.

VII-A - Création d'une connexion à la source de données

Pour ajouter une nouvelle connexion à la source de données, rien de plus simple :

• Ouvrez Visual Studio 2005 ;• Cliquez sur « Tool » puis « Connect to Database » ;• Choisissez « Microsoft SQL Server » puis cliquez sur « OK » ;• Entrez (ou choisissez, via la liste déroulante) le nom de l'instance à laquelle vous souhaitez vous connecter ;• Saisissez les informations de connexion (login et mot de passe) ;• Sélectionnez la base de données à utiliser ;• Cliquez sur « OK ».

Un clic sur le bouton « Test Connection » vous permet de vous assurer que la connexion au serveur SQL se faitsans problème.

Page 19: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 19 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Si tout s'est déroulé correctement, vous devriez voir apparaitre, dans votre « Server Explorer », une nouvelleconnexion, sous le nœud « Data Connections ».

Page 20: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 20 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Maintenant que cette source de données est ajoutée, voyons voir comment nous pouvons travailler avec dans VisualStudio.

VII-B - Utilisation: Des exemples par le code

Pour vous expliquer comment utiliser cette nouvelle connexion, le mieux est sans doute de vous faire unedémonstration.

Il y aura en fait deux projets :

• un projet de type « WindowsForms », qui vous montrera surtout les nouvelles fonctionnalités d'ADO.NET 2.0 ;• un projet de type « SQL Server Project », qui vous montrera comment développer vos propres fonctions,

procédures stockées, etc. pour SQL Server directement depuis votre code .NET.

Voici donc la première démonstration :

Nous allons donc choisir, dans Visual Studio, de faire un nouveau projet de type Windows Application.

Ensuite, nous ajoutons à notre interface quelques composants graphiques :

• une GroupeBox ;• une DataGridView (Nouveau composant, qui remplace le DataGrid) ;• un bouton d'enregistrement ;• un bouton d'annulation ;• un bouton d'effacement de la DataGridView ;• un bouton de rechargement de la DataGridView.

Enfin, nous mettons une nouvelle source de données à notre projet, qui va automatiquement nous ajouter :

• un dataset ;• une BindingSource ;• un DataTableAdapter.

Page 21: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 21 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Nous pouvons maintenant nous concentrer sur le code .NET.

Voici, par exemple, le code qui se trouve derrière le bouton de rechargement de la DataGridView :

Rechargement de la DataGridViewprivate void btnReload_Click(object sender, EventArgs e){ // On remplit le DataSet this.dotnetTableAdapter.Fill(this.dBDotnetDataSet.dotnet);

// On remplit l'affichage de la grille this.dotnetBindingSource.DataSource = this.dBDotnetDataSet; this.dgview.DataSource = this.dotnetBindingSource;}

Ici, on se contente de remplir le DataSet au moyen de la méthode Fill de notre DataAdapter. Ensuite, nous associonsla DataSource de notre BindingSource à notre DataSet, puis il ne nous reste plus qu'a « binder » (associer) lasource de données (DataSource) de notre DataGridView à notre BindingSource.

Pour simplifier, dites-vous que ce code sert à remplir un DataSet, puis à utiliser ce DataSet comme source de donnéesde notre DataGridView.

Voyons maintenant le code qui se cache derrière le bouton d'enregistrement des données :

Enregistrement des donnéesprivate void btnSave_Click(object sender, EventArgs e){ if (MessageBox.Show(String.Format(null, "Êtes-vous sûr de vouloir mettre à jour la base de données ?"), String.Format(null, "Mise à jour"), MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes) { // Si le DataSet a été modifié if (this.dBDotnetDataSet.HasChanges()) { // On met à jour la base de données en utilisant la DataTable et le TableAdapter int i = this.dotnetTableAdapter.Update(this.dBDotnetDataSet);

MessageBox.Show(String.Format(null, "{0} lignes ont été mise à jour dans la base de données", i.ToString()), String.Format("Mise à jour"), MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { return; }}

Si vous avez déjà travaillé avec ADO.NET, ce code devrait vous être très familier.

Page 22: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 22 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

En effet, ici, nous demandons à l'utilisateur de valider (ou non) la sauvegarde des modifications effectuées dans lagrille. Si le choix est oui, alors nous nous assurons que le DataSet a bien été modifié (au moyen de la méthodeHasChanges),puis nous mettons à jour la base de données de manière très simple: en appelant la méthode Updatedu DataAdapter.

C'est cette méthode qui va se charger de tout (c'est-à-dire faire les INSERT, les UPDATE, les DELETE, etc.).

Le résultat en image :

Et pour vous montrer que le résultat a bien été pris en compte dans la base de données, vous avez plusieurs choix :

• relancer l'application pour refaire un chargement des données ;• cliquer sur le bouton de mise à jour de la DataGridView ;• aller voir directement les données qui se trouvent dans la base.

Pour vous montrer le résultat, j'ai utilisé la troisième possibilité, et voici le résultat :

Page 23: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 23 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Les données apparaissent bien modifiées dans la base (dans mon cas, il s'agit d'une ligne qui a été rajoutée).

Passons maintenant à la deuxième démonstration.

Deuxième démonstration :

Ici, je vous montrerai un peu plus en détails comment créer votre propre fonction, pour SQL Server, en utilisant ducode .NET.

Commencez par lancer Visual Studio, puis choisissez de faire un nouveau projet. Là, choisissez un projet de type« Database » et, dans les template prédéfinis, choisissez « SQL Server Project ».

Visual Studio vous demandera alors quelle connexion SQL vous souhaitez utiliser dans votre projet: vous pouvezalors en créer une nouvelle ou utiliser une connexion déjà existante.

Page 24: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 24 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

À partir de là, vous vous retrouvez dans Visual Studio, mais, contrairement à d'habitude, aucune feuille de code n'estdéjà ouverte.

En effet, c'est à vous d'ajouter, à votre projet, un nouvel item: cela se fait en faisant un clic droit sur le nom de votreprojet, et en choisissant « Add » puis « New Item ».

À ce moment là, sélectionnez le type d'item que vous voulez ajouter (dans notre cas, nous sélectionnons « User-Defined Function »); donnez-lui un nom puis cliquez sur « Add ».

Et là, vous vous retrouvez devant une feuille de code qu'il va vous falloir compléter.Avant toute chose, prenez note de l'attribut situé au dessus de la fonction Main :

Attribut[Microsoft.SqlServer.Server.SqlFunction]

Bien entendu, il y a d'autres attributs, tel que SqlTrigger, SqlMethod, SqlFunction, etc.

Page 25: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 25 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Le paramètre DataAccess=DataAccessKind.Read permet de spécifier que l'on va juste lire des données depuis labase.

Voici donc le code complet (et, je l'espère, suffisamment expliqué) de notre fonction :

Fonction SQL Serveur écrite en code .NET[Microsoft.SqlServer.Server.SqlFunction(DataAccess=DataAccessKind.Read)]public static SqlString GetCommentFromId(int id){ // Instanciation d'un nouvel objet de type SqlConnection // Context Connection=True est le seul paramètre que vous devez ajouter // lorque vous développez des projets de type SQL Server Projects SqlConnection cnx = new SqlConnection(@"Context Connection=True");

// Instanciation d'un nouvel objet de type SqlCommand SqlCommand cmd = new SqlCommand();

cmd.Connection = cnx;

// On définit la requête à exécuter cmd.CommandText = "SELECT chaine FROM dotnet WHERE dotnet_id = @idparam";

// On ajoute le paramètre à la requête // AddWithValue = Nouvelle méthode permettant l'ajout direct d'un paramètre // et de sa valeur cmd.Parameters.AddWithValue("@idparam", id);

// Ouverture de la connexion cnx.Open();

// On exécute la requête et on récupère le résultat string comment = (string) cmd.ExecuteScalar();

// Fermeture de la connexion cnx.Close();

// On renvoi le résultat return comment;}

Les développeurs .NET ne seront, une fois de plus, pas dépaysés par un tel code. Mais pour les autres, je vais tenterde vous l'expliquer de manière simple.

• On commence par déclarer et instancier un objet de type SqlConnection, auquel nous ne passons commeparamètre que : Context Connection=True ;

• Nous déclarons ensuite objet de type SqlCommand, puis nous associons notre connexion (nouvellementcréée) à notre objet SqlCommand ;

• Nous définissons ensuite la requête SQL à exécuter: celle-ci comprend, par mesure de sécurité, unparamètre ;

• Nous utilisons alors la nouvelle méthode AddWithValue pour ajouter, directement à notre objetSqlCommand, le paramètre de notre requête, ainsi que sa valeur

• Il ne nous reste plus qu'à ouvrir la connexion, exécuter la requête, récupérer le résultat (comme nous ne nousattendons à récupérer qu'une seule valeur, nous utilisons ExecuteScalar), puis nous fermons la connexion ;

• Finalement, nous retournons le résultat de la requête SQL à l'utilisateur.

Il ne vous reste plus qu'a compiler votre fonction puis à la déployer sur votre serveur pour pouvoir la tester.

Page 26: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 26 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Là, vous voyez directement le résultat de l'exécution de votre fonction dans SQL Server, mais sachez que vouspouvez tester votre fonction depuis Visual Studio.

Pour cela, vous avez 2 possibilités :

Tout d'abord, vous pouvez, dans Visual Studio, ouvrir le répertoire « Test Scripts » de votre solution et éditer le fichier« Tests.sql ». Ce fichier, qui contient un ensemble de commandes SQL que vous pouvez modifier (pour y insérervos propres requêtes par exemple), pourra être exécuté directement depuis Visual Studio.

Pour cela, insérez le texte de la (ou les) requête(s) que vous souhaitez exécuter, puis faites un clic droit et choisissez« Run To Cursor ».

Voyons cela en images :

Page 27: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 27 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Appuyer sur F5 pour débugger l'application et visualiser le résultat dans l'onglet « Output » de Visual Studio.

La deuxième possibilité pour exécuter votre fonction depuis Visual Studio est de passer par l'explorateur de serveur(Server Explorer).

Appuyez sur « Ctrl + Alt + S » et développez l'arborescence jusqu'à voir la fonction que vous venez de créer. Faîtesun clic droit et choisissez « Execute ». L'assistant qui apparaît vous demande de saisir une valeur pour le paramètrede la fonction.

Une fois que vous avez appuyé sur « OK », visualisez, une fois encore, le résultat dans l'onglet « Output » de VisualStudio.

Page 28: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 28 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

Si vous souhaitez déployer votre assembly (fonction) .NET sur un autre serveur SQL, sachez que vous pouvez lefaire très simplement, dès lors que vous possédez la DLL de votre fonction.

En effet, après avoir créé votre assembly, il vous faut juste la charger, dans votre serveur SQL, au moyen de lacommande T-SQL CREATE ASSEMBLY:

CREATE ASSEMBLY SQLServer2005Project FROM 'C:\SQLServer2005Project.dll'

La commande CREATE ASSEMBLY prend en paramètre le chemin vers l'assembly que vous souhaitez charger dansSQL Server. Cela peut-être un chemin local, mais la plupart du temps, il s'agit d'un chemin vers un répertoire partagédu réseau. Lorsque cette commande est exécutée, l'assembly est copiée dans la base de données Master.

Vous avez également la possibilité de supprimer une assembly, en utilisant la commande DROP ASSEMBLY :

Page 29: SQL Server 2005

Présentation de SQL Server 2005 par LEBRUN Thomas

- 29 -Copyright ® 2005 LEBRUN Thomas. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents,

images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.http://morpheus.developpez.com/sql-server-2005/

DROP ASSEMBLY SQLServer2005Project.dll

Vous devez utiliser cette commande lorsque vous effectuez des modifications sur votre assembly .NET, et que vousvoulez quelle soient prises en compte dans SQL Server: vous devez supprimer l'assembly (DROP ASSEMBLY) puisla ré-importer (CREATE ASSEMBLY).

Maintenant que cette phase est terminée, il ne vous reste plus qu'une chose à faire pour pouvoir utiliser votre fonctiondans SQL Server Pour le moment vous avez créé, déployé et enregistré l'assembly dans SQL Server: il ne vous resteplus qu'à associer la définition de la fonction SQL Server à la méthode appropriée dans l'assembly précédemmentenregistrée.

Comme cela doit vous paraitre un peu vague, nous allons voir cela en exemple.Nous allons utiliser la commande CREATE FUNCTION pour créer une fonction utilisateur .NET, dans SQL Server :

CREATE FUNCTION GetCommentFromId(Int id)RETURNS StringAS EXTERNAL NAME SQLServer2005Project:UserDefinedFunctions::GetCommentFromId

La clause AS EXTERNAL NAME vous permet de lier le nom de la fonction SQL Server à la fonction .NET de votreassembly.

Le format de cette clause est : Nom_de_l'assembly:Nom_de_la_classe::Nom_de_la_methode.

Surprenante (mais indispensable), cette procédure peut paraitre assez compliquée aux premiers abords, surtoutlorsque l'on sait que tout ceci est réalisé automatiquement par Visual Studio 2005, en utilisant le menu « Build » ;)

VIII - Conclusions

SQL Server 2005 (Nom de code: Yukon) se révèle donc un outil puissant qui, de part son interopérabilité avec lesautres produis Microsoft, offre encore plus de fonctionnalités.

Bien sur, il ne nous a pas été possible de tout vous présenter dans cet article: gardez bien à l'esprit qu'il s'agit d'uneprésentation de SQL Server 2005, et non d'un article vous démontrant toutes ces possibilités.

Néanmoins, si vous aviez déjà travaillé avec les précédentes versions de SQL Server, je ne peux que vous conseillerd'essayer celle-ci, pour que vous vous rendiez compte, par vous-même, que travailler avec cette nouvelle versionvous ouvre de nouvelles possibilités, et vous permet d'accomplir ce que vous ne pensiez même pas être possible.

Un MUST donc, que je ne peux que vous inviter à essayer: vous ne serez pas déçus.

IX - Liens

Site Web de Microsoft SQL Server 2005 : Site WebMicrosoft SQL Server 2005 Express Edition (CTP Avril 2005) : SQL Server 2005 Express EditionMicrosoft SQL Server 2005 Express Manager (CTP Avril 2005) : SQL Server 2005 Express Manager

X - Téléchargements

Projet SQLServer2005 (Projet Visual Studio 2005) : Projet SQLServer2005Projet SQLServer2005Project (Projet Visual Studio 2005) : Projet SQLServer2005Project