Beruflich Dokumente
Kultur Dokumente
Cet article a pour but de vous prsenter SQL Server 2005, le nouveau Systme de Gestion
de Bases de Donnes de Microsoft.
I - Introduction..............................................................................................................................................................3
II - Nouveauts de SQL Server 2005......................................................................................................................... 3
III - Installation de SQL Server 2005.......................................................................................................................... 3
IV - Description des Configuration Tools.....................................................................................................................8
IV-A - SQL Configuration Manager........................................................................................................................8
IV-B - SQL Server Surface Area Configuration................................................................................................... 10
IV-B-1 - Surface Area Configuration for Services and Connections.............................................................. 10
IV-B-2 - Surface Area Configuration for Features.......................................................................................... 12
V - Installation de SQL Server 2005 Express Manager............................................................................................13
VI - Utilisation de SQL Server Express Manager..................................................................................................... 14
VI-A - Prsentation............................................................................................................................................... 14
VI-B - Cration d'une base de donnes.............................................................................................................. 16
VI-C - Excution de requtes SQL...................................................................................................................... 17
VII - Interaction entre SQL Server 2005 et Visual Studio 2005................................................................................ 18
VII-A - Cration d'une connexion la source de donnes..................................................................................18
VII-B - Utilisation: Des exemples par le code......................................................................................................20
VIII - Conclusions.......................................................................................................................................................29
IX - Liens....................................................................................................................................................................29
X - Tlchargements................................................................................................................................................. 29
-2-
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
I - Introduction
SQL Server 2005 (Nom de code: Yukon) est le futur SGBDR (Systme de Gestion de Bases de Donnes
Relationnelles) de la plateforme Microsoft.
Bas sur les points forts de son prdcesseur (SQL Server 2000), Yukon inclura beaucoup de nouvelles
fonctionnalits qui vous permettront, vous et votre Entreprise, de devenir plus productif.
Il vous permettra, entre autres choses :
de crer et dployer des applications plus sres, plus puissantes et plus fiables ;
de proposer aux dveloppeurs un environnement de dveloppement riche, souple et moderne permettant de
crer des applications de bases de donnes plus sres ;
de partager des donnes entre diverses plates-formes, applications et systmes pour faciliter les connexions,
tant internes qu'externes.
La monte en charge: Des amliorations comme le partitionnement, l'isolement des captures instantanes et
la prise en charge des systmes 64 bits, vous permettront de crer et de dployer vos applications les plus
exigeantes ;
Scurit: Cryptage de base de donnes, choix de la scurit maximale par dfaut ;
Gestion: Une nouvelle suite d'outils de gestion de base de donnes, amlioration du Profiler SQL ;
Interoprabilit: Grce une prise en charge tendue des standards, des services Web et de Microsoft .NET
Framework, SQL Server 2005 assure l'interoprabilit entre plates-formes, applications et systmes.
Amlioration des outils: Les dveloppeurs pourront utiliser un outil de dveloppement pour TransactSQL, XML, MDX (Multidimensional Expression) et XML for Analysis (XML/A). L'intgration avec l'outil de
dveloppement Visual Studio permettra un dveloppement et un dbogage plus efficaces des applications
mtier et dcisionnelles ;
Intgration de la CLR (Common Language Runtime) dans le moteur de base de donnes: Les dveloppeurs
auront la possibilit de choisir le langage (C#, VB.NET, Transact-SQL) qu'ils utiliseront pour dvelopper leurs
application de base de donnes ;
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 Schema
Definition) facilitera galement les communications entre systmes d'entreprise tendus.
Maintenant que nous venons de voir les principales nouveauts de SQL Server 2005, voyons un peu plus comment
le mettre en place et l'utiliser.
-3-
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Entrez alors votre nom et celui de votre Entreprise dans les cases appropries. En dessous, vous avez la possibilit
de dcocher la case Hide advanced configuration options : ne dsactivez cette case que si vous tes sr de
savoir ce que vous faites.
-4-
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Pour cet article, je dsactiverai la case afin de vous montrer/expliquer les diffrentes tapes possibles de l'installation.
Une fois les informations saisies, vous avez la possibilit de choisir les composants que vous dsirez installer : libre
vous de tout choisir ou bien uniquement le strict minimum (slectionn par dfaut)
L'cran suivant vous demande de saisir le nom de l'instance pour l'installation en cours. La plupart du temps, laisser
les valeurs par dfaut et cliquer sur Next est suffisant :
prsent, il vous faut configurer le compte qui excutera le service SQL Server. Pour cela, vous avez plusieurs
possibilits :
-5-
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Utiliser un compte Systme: Service Rseau (Network Service) est le plus couramment utilis, il est donc
conseill de garder celui-ci ;
Utiliser un compte Utilisateur: il vous est possible de crer et d'utiliser un compte utilisateur qui sera en
charge d'excuter ce service. C'est cet endroit que vous entrez les informations (login, mot de passe et nom
de domaine) relatives au compte utiliser.
La case AutoStart Service vous permet de spcifier que vous voulez lancer le service au dmarrage de l'ordinateur.
noter : si vous utilisez la CTP (Community Technology Preview) d'Avril 2005, il vous faudra utiliser l'option Compte
Systme et choisir Systme Local (Local System) pour viter que l'installation n'choue ultrieurement.
La partie suivante concerne l'authentification auprs du serveur SQL. En effet, il faut savoir que vous pouvez
configurer SQL Server de deux faons :
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 crer des logins/mot
de passe de connexion SQL Server.
e
Si vous choisissez le 2 mode (Mixed Mode), il vous sera demand de spcifier le mode de passe de l'utilisateur
sa : 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 proprits
de votre serveur SQL, si vous changez d'avis.
-6-
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Finalement, il ne vous reste plus qu'a dfinir les collations pour le service SQL Server.
Les collations permettent de choisir si la casse, comme les caractres diacritiques et l'encodage auront une influence
sur les tris et les comparaisons ( Plus d'informations)
moins d'tre sr de savoir ce que vous fates, laissez les valeurs par dfaut et cliquez sur Next :
Pour finir, vous pouvez choisir d'envoyer ou non, Microsoft, les rapports d'erreurs qui pourraient survenir.
-7-
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Un dernier clic sur le bouton Install vous permet, pour finir, de lancer l'installation en elle-mme.
Et voila, votre SQL Server 2005 est maintenant install et configur avec succs !
Maintenant, voyons un peu plus en dtails les outils qui ont t installs avec votre serveur SQL.
-8-
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
-9-
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Comme vous pouvez le voir, rien de bien compliqu en soit, surtout si vous aviez dj utilis une prcdente version
de SQL Server.
En effet, c'est dans cette partie que vous pourrez dmarrer, arrter ou bien redmarrer votre instance de SQL Server.
- 10 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
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 :
Voici une image qui vous permettra de mieux comprendre tout cela :
- 11 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
- 12 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
- 13 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
L'installation se droule normalement sans problme et vous vous retrouvez avec un nouveau raccourci dans votre
menu Dmarrer: SQL Server Express Manager qui, une fois excut, lance l'outil de gestion des bases de donnes
de SQL Server 2005.
le nom de l'instance du serveur (Attention, vous devez galement prciser le nom du serveur sur lequel est
excute cette instance. Par exemple, dans mon cas, il me faut indiquer WIN2K3\SQLExpress comme nom
d'instance du serveur SQL) ;
le type d'authentification: c'est ce moment que vous allez spcifier si vous voulez vous connecter en
utilisant un utilisateur Windows ou un utilisateur du serveur SQL ;
les logins/mot de passe ncessaires la connexion.
- 14 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Une fois la connexion russie, vous vous retrouvez dans la partie principale de SQL Server Express Manager. C'est
ici que vous pourrez raliser la plupart des oprations de gestion (ajout/suppression de base de donnes, etc.).
N'oubliez pas qu'il s'agit encore d'une version BETA, donc toutes les fonctionnalits ne sont pas forcment encore
implmentes.
Le volet gauche de l'application contient la liste de toutes les bases de donnes systme installes, ainsi que tous
les comptes du serveur SQL, tandis que le volet de droite contient une zone de texte vous permettant de saisir vos
requtes SQL.
- 15 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
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 tes
connect, son numro de version ainsi que le nom d'utilisateur utilis pour la connexion.
- 16 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Une fois cre, votre nouvelle base de donnes apparat dans la liste de gauche, en dessous des System
Databases .
Comme vous le voyez, crer une base de donnes est donc extrmement simple.
Vous pouvez afficher les proprits de votre base de donnes en faisant un clic droit sur son nom et en choisissant
Properties .
slectionner la base de donnes sur laquelle vous voulez travailler (en utilisant la ComboBox situe en haut
droite ou en utilisant la requte SQL: use la_base_de_donnee) ;
crire le code de votre requte SQL ;
appuyer sur Ctrl+F5 pour parser votre requte SQL et vous assurer quelle ne comporte pas d'erreurs ;
appuyer sur F5 pour excuter votre requte SQL.
- 17 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Comme vous pouvez le voir, la visualisation du rsultat est immdiate dans l'arborescence de gauche et l'on distingue
visuellement les diffrentes colonnes de la table (cl primaire, cls trangres, etc.).
Un clic sur le bouton Test Connection vous permet de vous assurer que la connexion au serveur SQL se fait
sans problme.
- 18 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Si tout s'est droul correctement, vous devriez voir apparaitre, dans votre Server Explorer , une nouvelle
connexion, sous le nud Data Connections .
- 19 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Maintenant que cette source de donnes est ajoute, voyons voir comment nous pouvons travailler avec dans Visual
Studio.
un projet de type WindowsForms , qui vous montrera surtout les nouvelles fonctionnalits d'ADO.NET 2.0 ;
un projet de type SQL Server Project , qui vous montrera comment dvelopper vos propres fonctions,
procdures stockes, etc. pour SQL Server directement depuis votre code .NET.
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 donnes notre projet, qui va automatiquement nous ajouter :
un dataset ;
une BindingSource ;
un DataTableAdapter.
- 20 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Ici, on se contente de remplir le DataSet au moyen de la mthode Fill de notre DataAdapter. Ensuite, nous associons
la DataSource de notre BindingSource notre DataSet, puis il ne nous reste plus qu'a binder (associer) la
source de donnes (DataSource) de notre DataGridView notre BindingSource.
Pour simplifier, dites-vous que ce code sert remplir un DataSet, puis utiliser ce DataSet comme source de donnes
de notre DataGridView.
Voyons maintenant le code qui se cache derrire le bouton d'enregistrement des donnes :
Enregistrement des donnes
Si vous avez dj travaill avec ADO.NET, ce code devrait vous tre trs familier.
- 21 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
En effet, ici, nous demandons l'utilisateur de valider (ou non) la sauvegarde des modifications effectues dans la
grille. Si le choix est oui, alors nous nous assurons que le DataSet a bien t modifi (au moyen de la mthode
HasChanges),puis nous mettons jour la base de donnes de manire trs simple: en appelant la mthode Update
du DataAdapter.
C'est cette mthode qui va se charger de tout (c'est--dire faire les INSERT, les UPDATE, les DELETE, etc.).
Le rsultat en image :
Et pour vous montrer que le rsultat a bien t pris en compte dans la base de donnes, vous avez plusieurs choix :
Pour vous montrer le rsultat, j'ai utilis la troisime possibilit, et voici le rsultat :
- 22 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Les donnes apparaissent bien modifies dans la base (dans mon cas, il s'agit d'une ligne qui a t rajoute).
Passons maintenant la deuxime dmonstration.
Deuxime dmonstration :
Ici, je vous montrerai un peu plus en dtails comment crer votre propre fonction, pour SQL Server, en utilisant du
code .NET.
Commencez par lancer Visual Studio, puis choisissez de faire un nouveau projet. L, choisissez un projet de type
Database et, dans les template prdfinis, choisissez SQL Server Project .
Visual Studio vous demandera alors quelle connexion SQL vous souhaitez utiliser dans votre projet: vous pouvez
alors en crer une nouvelle ou utiliser une connexion dj existante.
- 23 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
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'est
dj 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 votre
projet, et en choisissant Add puis New Item .
ce moment l, slectionnez le type d'item que vous voulez ajouter (dans notre cas, nous slectionnons UserDefined Function ); donnez-lui un nom puis cliquez sur Add .
Et l, vous vous retrouvez devant une feuille de code qu'il va vous falloir complter.
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.
- 24 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Le paramtre DataAccess=DataAccessKind.Read permet de spcifier que l'on va juste lire des donnes depuis la
base.
Voici donc le code complet (et, je l'espre, 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 paramtre que vous devez ajouter
// lorque vous dveloppez 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 dfinit la requte excuter
cmd.CommandText = "SELECT chaine FROM dotnet WHERE dotnet_id = @idparam";
// On ajoute le paramtre la requte
// AddWithValue = Nouvelle mthode permettant l'ajout direct d'un paramtre
// et de sa valeur
cmd.Parameters.AddWithValue("@idparam", id);
// Ouverture de la connexion
cnx.Open();
// On excute la requte et on rcupre le rsultat
string comment = (string) cmd.ExecuteScalar();
// Fermeture de la connexion
cnx.Close();
// On renvoi le rsultat
return comment;
Les dveloppeurs .NET ne seront, une fois de plus, pas dpayss par un tel code. Mais pour les autres, je vais tenter
de vous l'expliquer de manire simple.
On commence par dclarer et instancier un objet de type SqlConnection, auquel nous ne passons comme
paramtre que : Context Connection=True ;
Nous dclarons ensuite objet de type SqlCommand, puis nous associons notre connexion (nouvellement
cre) notre objet SqlCommand ;
Nous dfinissons ensuite la requte SQL excuter: celle-ci comprend, par mesure de scurit, un
paramtre ;
Nous utilisons alors la nouvelle mthode AddWithValue pour ajouter, directement notre objet
SqlCommand, le paramtre de notre requte, ainsi que sa valeur
Il ne nous reste plus qu' ouvrir la connexion, excuter la requte, rcuprer le rsultat (comme nous ne nous
attendons rcuprer qu'une seule valeur, nous utilisons ExecuteScalar), puis nous fermons la connexion ;
Finalement, nous retournons le rsultat de la requte SQL l'utilisateur.
Il ne vous reste plus qu'a compiler votre fonction puis la dployer sur votre serveur pour pouvoir la tester.
- 25 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
L, vous voyez directement le rsultat de l'excution de votre fonction dans SQL Server, mais sachez que vous
pouvez tester votre fonction depuis Visual Studio.
Pour cela, vous avez 2 possibilits :
Tout d'abord, vous pouvez, dans Visual Studio, ouvrir le rpertoire 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 insrer
vos propres requtes par exemple), pourra tre excut directement depuis Visual Studio.
Pour cela, insrez le texte de la (ou les) requte(s) que vous souhaitez excuter, puis faites un clic droit et choisissez
Run To Cursor .
Voyons cela en images :
- 26 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Appuyer sur F5 pour dbugger l'application et visualiser le rsultat dans l'onglet Output de Visual Studio.
La deuxime possibilit pour excuter votre fonction depuis Visual Studio est de passer par l'explorateur de serveur
(Server Explorer).
Appuyez sur Ctrl + Alt + S et dveloppez l'arborescence jusqu' voir la fonction que vous venez de crer. Fates
un clic droit et choisissez Execute . L'assistant qui apparat vous demande de saisir une valeur pour le paramtre
de la fonction.
Une fois que vous avez appuy sur OK , visualisez, une fois encore, le rsultat dans l'onglet Output de Visual
Studio.
- 27 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Si vous souhaitez dployer votre assembly (fonction) .NET sur un autre serveur SQL, sachez que vous pouvez le
faire trs simplement, ds lors que vous possdez la DLL de votre fonction.
En effet, aprs avoir cr votre assembly, il vous faut juste la charger, dans votre serveur SQL, au moyen de la
commande T-SQL CREATE ASSEMBLY:
CREATE ASSEMBLY SQLServer2005Project FROM 'C:\SQLServer2005Project.dll'
La commande CREATE ASSEMBLY prend en paramtre le chemin vers l'assembly que vous souhaitez charger dans
SQL Server. Cela peut-tre un chemin local, mais la plupart du temps, il s'agit d'un chemin vers un rpertoire partag
du rseau. Lorsque cette commande est excute, l'assembly est copie dans la base de donnes Master.
Vous avez galement la possibilit de supprimer une assembly, en utilisant la commande DROP ASSEMBLY :
- 28 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/
Vous devez utiliser cette commande lorsque vous effectuez des modifications sur votre assembly .NET, et que vous
voulez quelle soient prises en compte dans SQL Server: vous devez supprimer l'assembly (DROP ASSEMBLY) puis
la r-importer (CREATE ASSEMBLY).
Maintenant que cette phase est termine, il ne vous reste plus qu'une chose faire pour pouvoir utiliser votre fonction
dans SQL Server Pour le moment vous avez cr, dploy et enregistr l'assembly dans SQL Server: il ne vous reste
plus qu' associer la dfinition de la fonction SQL Server la mthode approprie dans l'assembly prcdemment
enregistre.
Comme cela doit vous paraitre un peu vague, nous allons voir cela en exemple.
Nous allons utiliser la commande CREATE FUNCTION pour crer une fonction utilisateur .NET, dans SQL Server :
CREATE FUNCTION GetCommentFromId(Int id)
RETURNS String
AS 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 votre
assembly.
Le format de cette clause est : Nom_de_l'assembly:Nom_de_la_classe::Nom_de_la_methode.
Surprenante (mais indispensable), cette procdure peut paraitre assez complique aux premiers abords, surtout
lorsque l'on sait que tout ceci est ralis automatiquement par Visual Studio 2005, en utilisant le menu Build ;)
VIII - Conclusions
SQL Server 2005 (Nom de code: Yukon) se rvle donc un outil puissant qui, de part son interoprabilit avec les
autres produis Microsoft, offre encore plus de fonctionnalits.
Bien sur, il ne nous a pas t possible de tout vous prsenter dans cet article: gardez bien l'esprit qu'il s'agit d'une
prsentation de SQL Server 2005, et non d'un article vous dmontrant toutes ces possibilits.
Nanmoins, si vous aviez dj travaill avec les prcdentes versions de SQL Server, je ne peux que vous conseiller
d'essayer celle-ci, pour que vous vous rendiez compte, par vous-mme, que travailler avec cette nouvelle version
vous ouvre de nouvelles possibilits, et vous permet d'accomplir ce que vous ne pensiez mme pas tre possible.
Un MUST donc, que je ne peux que vous inviter essayer: vous ne serez pas dus.
IX - Liens
Site Web de Microsoft SQL Server 2005 : Site Web
Microsoft SQL Server 2005 Express Edition (CTP Avril 2005) : SQL Server 2005 Express Edition
Microsoft SQL Server 2005 Express Manager (CTP Avril 2005) : SQL Server 2005 Express Manager
X - Tlchargements
Projet SQLServer2005 (Projet Visual Studio 2005) : Projet SQLServer2005
Projet SQLServer2005Project (Projet Visual Studio 2005) : Projet SQLServer2005Project
- 29 -
Copyright 2005 LEBRUN Thomas. Aucune reproduction, mme 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 intrts.
http://morpheus.developpez.com/sql-server-2005/