Sie sind auf Seite 1von 29

Prsentation de SQL Server 2005

Par LEBRUN Thomas

Date de publication : 9 juin 2005

Cet article a pour but de vous prsenter SQL Server 2005, le nouveau Systme de Gestion
de Bases de Donnes de Microsoft.

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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.

II - Nouveauts de SQL Server 2005


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

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.

D'un point de vue du dveloppement, Yukon intgrera galement des nouveauts:

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.

III - Installation de SQL Server 2005


SQL Server 2005 (Version Express) peut-tre tlcharg depuis cette adresse : SQL Server 2005 Express Edition
Pour 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 ncessaires l'installation seront mis en place, et il vous faudra cliquer, une nouvelle
fois, sur Next.

-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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

Votre configuration systme sera alors scanne et le Wizard d'installation apparatra.


Cliquez alors sur Next pour que l'installeur vrifie les ventuels problmes d'installation qui pourraient survenir et
cliquez sur Next :

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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.

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 serveur
SQL.
Voici un aperu de son interface graphique :

-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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

Et voici la page de configuration des proprits :

-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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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.

IV-B - SQL Server Surface Area Configuration


Voici l'cran principal de cet outil destin, lui aussi, paramtrer certaines options de votre serveur SQL :

Voyons chaque partie un peu plus en dtails.

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 ncessaires pour vos
applications.
Voici l'cran que vous utiliserez pour configurer les services :

- 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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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 :

- 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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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 Serveur
SQL, que vous voulez utiliser.
En effet, c'est ici que vous indiquerez si, pour une certaine instance de SQL Serveur, vous souhaitez activer
l'intgration 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 de
SQL 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 dsactiver beaucoup d'options pour votre instance SQL Server, selon
que vos applications utilisent ou non ces options.

- 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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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, sans
doute, pouvoir l'utiliser. En effet, un serveur SQL, c'est bien mais encore faut-il pouvoir crer des bases de donnes
pour 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 dfaut avec SQL Server
2005: il vous faut le tlcharger 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 votre
serveur SQL.
Pour installer SQL Server Express Manager, double-cliquez sur le fichier ExpressManager.msi puis suivez
simplement les instructions qui s'affichent l'cran: cette installation ne ncessite aucun paramtre particulier.

- 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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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.

VI - Utilisation de SQL Server Express Manager


VI-A - Prsentation
Ds lors que vous lancez SQL Server Express Manager, celui-ci vous demande des informations de connexion, afin
de vous logger au serveur SQL.
Vous devez donc indiquer :

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.

Voici donc quoi ressemble cet cran :

- 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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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.

VI-B - Cration d'une base de donnes


Pour crer une nouvelle base de donnes, faites un clic droit, dans le panneau de gauche, sur Databases et
choisissez New Database .
ce moment l, le cot droit de l'application affichera un nouvel onglet dans lequel vous devrez spcifier le nom et
l'emplacement de la base de donnes que vous voulez crer.

- 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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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 .

VI-C - Excution de requtes SQL


Pour excuter des requtes SQL sur votre base de donnes, vous devez :

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.

Et votre requte SQL est excute sur le serveur.

- 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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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.).

VII - Interaction entre SQL Server 2005 et Visual Studio 2005


Comme cela a dj t expliqu, SQL Server 2005 s'intgre parfaitement avec la suite des logiciels Microsoft, et
donc par consquent, avec Visual Studio 2005.

VII-A - Cration d'une connexion la source de donnes


Pour ajouter une nouvelle connexion la source de donnes, 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 droulante) le nom de l'instance laquelle vous souhaitez vous connecter ;
Saisissez les informations de connexion (login et mot de passe) ;
Slectionnez la base de donnes utiliser ;
Cliquez sur OK .

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

Maintenant que cette source de donnes est ajoute, voyons voir comment nous pouvons travailler avec dans Visual
Studio.

VII-B - Utilisation: Des exemples par le code


Pour vous expliquer comment utiliser cette nouvelle connexion, le mieux est sans doute de vous faire une
dmonstration.
Il y aura en fait deux projets :

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.

Voici donc la premire dmonstration :


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 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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

Nous pouvons maintenant nous concentrer sur le code .NET.


Voici, par exemple, le code qui se trouve derrire le bouton de rechargement de la DataGridView :
Rechargement de la DataGridView

private 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 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

private void btnSave_Click(object sender, EventArgs e)


{
if (MessageBox.Show(String.Format(null, "tesvous sr de vouloir mettre jour la base de donnes ?"),
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 donnes 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 donnes",


i.ToString()),
String.Format("Mise jour"), MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
else
{
return;
}

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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 :

relancer l'application pour refaire un chargement des donnes ;


cliquer sur le bouton de mise jour de la DataGridView ;
aller voir directement les donnes qui se trouvent dans la base.

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

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/

Prsentation de SQL Server 2005 par LEBRUN Thomas

DROP ASSEMBLY SQLServer2005Project.dll

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/

Das könnte Ihnen auch gefallen