|
Installation MSDE - John COLIBRI.
|
- résumé : comment installer et tester MSDE, la version ligne de commande de
SQL Server. Installation de la base Northwind et requêtes OSQL pour vérifier
l'installation.
- mots clé : MSDE - SQL Server - MSDE2000A - OSQL
- logiciel utilisé : Windows XP personnel SP1 - MSDE
- matériel utilisé : Pentium 1.400 Mhz, 256 Meg de mémoire, 160 Giga disque
dur
- champ d'application : Windows
- niveau : développeur Windows
- plan :
1 - SQL Server et MSDE
Nous allons présenter ici les étapes permettant d'installer la version MSDE de
SQL Server.
SQL Server existe en de nombreuses versions, la plus récente étant actuellement
SQL Server 2005. Parallèlement à ces moteurs, Microsoft offre un moteur ayant
les mêmes fonctionnalités, mais destiné à fonctionner en arrière plan. C'est le
MSDE. En gros, c'est Sql Serveur sans les outils graphiques, et avec quelques
limitations de taille de fichier, de cache etc. MSDE, qui est distribué
gratuitement par Microsoft, permet donc de créer des applications ayant toutes
les fonctionalités de Sql Serveur, sans la lourdeur et le coût (licenses,
administration... ) de ce dernier.
Ce MSDE existe lui-même en de nombreuses versions, les plus récentes étant
destinées à protéger de certains virus (le "slammer worm"), ou encore destinées
spécialement au développement ASP.NET (sql2Kdesksp3.msi).
Nous avons utilisé la version MSDE2000A, que nous avons installé et testé
jusqu'à Delphi 2006 avec la base d'essai NORTHWIND. Notez que Delphi 2006 est
fourni avec une version MSDE qui semble juste antérieure à celle que nous avons
utilisée ici, et que l'installateur Delphi propose d'installer MSDE, mais que
nous n'avons pas choisi cette option.
Dans cet article, nous allons donc présenter la partie installation / test de
MSDE.
2 - Télécharger MSDE et NorthWind
Nous avons téléchargé MSDE à partir de l'adresse suivante chez Microsoft:
Le résultat du téléchargement est un fichier de 43 MB:
Il nous faut aussi télécharger un exemple de base de données. La plus connue
est "NorthWind". Nous avons trouvé cette base chez Microsoft:
Le résultat de ce téléchargement est un fichier de 1.522 MB
3 - Installation de MSDE
3.1 - Décompactage de MDSE
Nous commençons par décompacter le fichier:
|
cliquez deux fois sur msde2000A.exe pour lancer la décompactation
|
|
MSDE présente une license
|
|
click "I agree"
|
|
MSDE propose un répertoire pour les fichiers d'installation
|
|
nous avons choisi de placer ces fichiers dans C:\program files\, mais
cela n'est pas obligatoire.
Choisissez donc le répertoire pour ces fichiers d'installation, puis
cliquez "Finish"
|
|
MSDE demande de confirmer la création du répertoire:
|
|
cliquez "Oui"
|
|
le décompactage est effectué:
puis MSDE annonce la fin de la décompactation:
|
|
cliquez "OK"
|
Voici les fichiers décompactés:
3.2 - Création d'un fichier d'installation .BAT
Si nous lançons SETUP.EXE, nous rencontrerons une exception:
"... needs a strong sa password ..."
En examinant le Readme, il y est indiqué qu'il faut fournir un "mot de passe
fort". Et qu'il existe quatre ou cinq autre paramètres qui pourraient avoir
leur importance.
Longue fut la recherche de ce qu'est en vérité un mot de passe fort, ou faible.
Il semblerait que toute chaîne non vide contenant des lettre, chiffres et
ponctuations convienne. "A" serait donc parfait. Y a-t-il une taille minimale,
une obligation de ne pas se limiter à des lettres ? J'ignore. En tous cas, en
utilisant "me" la connection a fonctionné.
De plus les exemples font souvent allusion au nom d'instance. Ce nom est
utilisé ensuite pour se connecter. Nous avons choisi "aname".
Il faut alors lancer depuis CMD.EXE le fichier SETUP.EXE, en ajoutant comme
paramètre de ligne de commande le passe port et l'instance. Comme les risques
d'erreur de frappe sont grands, nous avons préféré utiliser un fichier .BAT,
que nous pouvons modifier à loisir en utilisant Notepad.
Par conséquent
|
ouvrez NotePad
|
|
tapez la commande d'installation. Par exemple:
où vous pouvez remplacer
- "me" par "moi" ou "alice", "je", "mypass" ou le plus classique
"motdepasseport"
- "aname" par "mabase", "unebase", "myinstance" etc
mais pensez à bien noter ces deux éléments qui seront utilisés par la suite
pour la connexion
|
|
sauvez le fichier dans le répertoire de SETUP.EXE en lui donnant une
extension .BAT
|
3.3 - L'installation
Voici l'installation:
|
cliquez sur le fichier .BAT
|
|
SETUP se lance avec les paramètres que vous avez fourni
Puis vous revenez à la ligne de commande
|
Mentionnons aussi qu'au lieu d'utiliser un .BAT pour fournir facilement les
paramètres, il est aussi possible de créer un fichier .INI contenant les mêmes
paramètres (mais il faut fournir, donc taper, le nom de l'INI dans la ligne de
commande, et donc lancer CMD.EXE, naviguer dans le répertoire de SETUP.EXE, et
taper le nom de l'.INI ...).
3.4 - Vérification de l'installation
Nous trouvons bien les fichiers installés dans Program Files. Voici, par
exemple, le répertoire BINN\TOOLS qui contient, entre autre, le serveur et un
outil de commande en ligne OSQL, que nous utiliserons ci-dessous:
Nous pouvons ensuite examiner si le logiciel est installé:
|
ouvrez "menu démarrer | panneau de configuration | modifier / supprimer des
programmes"
|
|
MSDE est bien présent:

|
Notez que MDSE était la première application que nous avions installé sur ce
poste.
Puis nous pouvons vérifier que MSDE attend bien nos requêtes, en ayant lancé un
Service Windows.
|
ouvrez "menu démarrer | panneau de configuration | outils d'administration
| services"
|
|
il y a deux services qui ont été installés:

|
Finalement, le menu démarrer contient une entrée pour lancer une instance:
|
ouvrez "menu démarrer | programmes | démarrage | service manager"
|
|
une entrée a été ajoutée:

|
Et un icône supplémentaire est située dans la barre de lancement, en bas à
droite, ressemblant à un cylindre gris avec des sections (si l'icône n'est pas
présente, redémarrez le PC, ce qui est en général recommandé après les
installations de logiciels)
3.5 - Lancement des Services
Nous allons lancer les services. Pour cela, nous utilisons le "Service Manager"
qui nous pouvons atteindre depuis l'icône en bas à droite ou depuis le menu
"démarrer"
Donc:
|
ouvrez "menu démarrer | programmes | démarrage | service manager"
|
|
le Service Manager est ouvert:
Notez qu'à ce state aucun server par défaut ou service ne sont affichés
|
|
tapez à la main le nom du serveur. Ce nom se compose
- du nom de votre pc
- du nom de l'instance que vous avez fourni à SETUP.EXE
Dans notre cas
- notre PC est nommé POL_1400_5
- notre instance est ANAME
Nous tapons donc:
|
|
si nous attendons un peu, ou si nous cliquons "refresh services", la combo
des service se remplit:
|
|
nous cliquons "start" pour lancer les services:
|
|
les services sont lancés
|
|
nous pouvons fermer ce dialogue, l'icône en bas à droite étant là pour nous
rappeler l'état de la connection
|
4 - Installation de Northwind
Pour vérifier la connection, puis plus tard lire et écrire des données, il vaut
mieux disposer d'une base de donnée exemple. Nous installons donc Northwind:
|
cliquez SQL2005SampleDb.msi
|
|
une page de bienvenue est présentée
|
|
cliquez "Next"
|
|
une license est présentée
|
|
cliquez "Agree", puis "Next"
|
|
un dialogue d'options est présenté
|
|
cliquez "Next"
|
|
une confirmation vous est demandée:
|
|
cliquez "Next"
|
|
l'installation se déroule, puis un dialogue confirme l'installation

|
En fait, l'installateur a choisi de placer les fichiers carrément à la racine:
c:\SQL Server Sample Database
Voici le contenu de ce répertoire:
Notez que
- l'installateur a aussi installé la base PUBS que nous n'utiliserons pas
- le fichier instnwnd.sql contient le script qui permettrait de créer la base
(en utilisant OSQL.EXE ci-dessous par exemple)
- SQL Server permet de déplacer ces fichiers où bon nous semble, en indiquant
bien sûr au Serveur où nous les avons placés
Pour notre part, nous avons déplacé les fichiers NORTHWIND.MDF et NORTHWIND.LDF
en:
C:\program files\microsoft sql server\_data
5 - Vérifier par des requêtes OSQL
5.1 - Un outil SQL
OSQL est un outil en mode ligne de commande, permettant, entre autre
- de communiquer avec le Serveur
- d'attacher / détacher ou créer / effacer une base de données (par exemple
Northwind)
- de lancer des requêtes sur cette base
C'est donc un outil comme en ont tous les moteurs SQL. L'inconvénient est que
cet outil est purement en mode ligne de commande (un .EXE DOS), et donc nous
nous bornerons à l'utiliser pour vérifier que MSDE fonctionne correctement.
Pour le reste, nous utiliserons Delphi en mode graphique.
5.2 - Lancement de OSQL
Pour lancer OSQL, il suffit de taper
OSQL -E -S serveur\instance
Soit dans notre cas:
OSQL -E -S pol_1500_5\aname
Les commandes sont tapées sans tenir compte de la mise en page (une ou
plusieurs lignes), et c'est la frappe de "go" sur une ligne isolée qui lance
l'exécution.
Il n'y a pas de prompt, mais un numéro de ligne de commande courante. Pour
saisir la première ligne nous voyons
1 |
et lorsque nous avons tapé notre texte la ligne suivante est affichée avec 2
etc.
A titre d'exemple, lançons OSQL et affichons les bases de données connues. Il
faut taper:
OSQL -E -S pol_1500_5\aname
using master
go
select * from systablnames
go
|
Donc
|
lancez CMD.EXE, et naviguez dans le répertoire contenant OSQL.EXE:
|
|
lancez OSQL
|
|
affichez les bases connues:
|
|
(optionnel) quittez OSQL en tapant EXIT ou QUIT
|
Notez que les "bases de données" affichées sont les bases système qui se
trouvent dans
5.3 - Attacher NorthWind
Pour le moment, le Serveur ne sait pas où se trouvent les fichiers .MDF et .LDF
de Northwind. Nous allons donc "attacher" ces fichiers au serveur:
Il faut indiquer
- le "nom du serveur" (soit nom du pc+ nom de l'instance)
- le nom de la base (Northwind)
- le chemin complet des fichiers .MDF et du fichier de log
Comme nous risquons des erreurs de frappe, nous tapons la commande dans
NotePad, et la recopions dans CMD.EXE par "clic droit | coller".
Voilà notre commande d'attachement:
exec sp_attach_db @dbname='northwind',
@filename1= 'C:\Program Files\Microsoft SQL Server\_data\NORTHWND.MDF',
@filename2= 'C:\Program Files\Microsoft SQL
Server\_data\Northwind_log.LDF'
|
Par conséquent:
|
lancez CMD.EXE puis lancez OSQL comme indiqué ci-dessus
|
|
tapez la commande d'attachement:
|
|
vérifiez que Northwind a bien été attaché:

|
Finalement, affichons le contenu de Northwind. Pour cela nous pouvons lister
les tables de la base (nous trouvons aussi ces noms dans le script
instnwnd.sql):
use northwind
go
select name from sysobjects where type='U'
go
|
et nous affichons l'une de ces tables:
select * from shippers
go
|
Donc:
|
listez les tables de Northwind
|
|
affichez le contenu d'une des tables de Northwind (le script nous a suggéré
que Shippers était la plus courte)

|
6 - Le bilan
6.1 - Les passes difficiles
Parmi les quelques difficultés
- le lancement de SETUP.EXE sans lire le README qui parle du mot de passe.
Microsoft devrait fournir un mode par défaut. Oracle avait ScottTiger:
Scott, un des premiers employés d'Oracle, et Tiger qui était son chat.
Allons, Bill doit bien avoir un quelconque doudou !
- lorsque le "Service Manager" s'est ouvert, vierge de tout nom, j'étais
plutôt embarrassé. Notez que cela se reproduit à chaque chargement. Je me
souviens avoir bataillé avec le même type de dialogue pour Oracle, ou il
fallait fournir des SID et autres noms d'instance.
- c'est en essayant de lancer les services que certaines pages sur Internet on
commencé à citer les problèmes de MDAC. Microsoft Data Access. L'équivalent
du BDE j'imagine. Je connaissais ce nom, rencontré dans des newsgroup
Delphi, mais je n'avais jamais eu affaire à ce MDAC.
Le MDAC 2.71a était recommandé. Alors était-il présent. Une page Microsoft
offre un outil de test. Le lancement de cet outil exigeait le chargement et
l'installation d'un ActiveX pour vérifier que vous avez une "genuine Windows
version". Je veux bien brandir la license avec l'hologramme si on me le
demande, mais de là à installer un ActiveX à demeure...
D'autres pages suggéraient d'inspecter la base de registre. Je n'ai rien
trouvé confirmant ou infirmant la présence du MDAC correct. Peut être un
lecteur voudra bien éclairer ma lanterne ?
J'ai donc préféré continuer à chercher quelles données devaient être tapées
dans le "Service Manager", et le problème fut résolu ainsi.
Quoiqu'il en soit, nous pouvons donc affirmer que pour tester la présence du
MDAC, il suffit d'installer et faire fonctionner correctement le MSDE !
Plus sérieusement, le lien suivant:
http://msdn.microsoft.com/library/
default.asp?url=/library/en-us/dnmdac/html/data_mdacinstall.asp
fait le point sur les versions MDAC
Parmi les conseils:
- créez dès le départ un fichier .TXT où vous pourrez stocker les divers
paramètres de votre installation:
- nom de l'instance
- chemins divers et variés
- lignes de lancement de CMD.EXE
- instructions OSQL
Nous avons placé notre fichier dans les
télécharger les .ZIP correspondants
- une fois le fonctionnement de MSDE acquis, passes à un outil plus
confortable que CMD.EXE
- il semblerait qu'il existe aussi quelques soucis lors de l'installation de
plusieurs produits proches du MSDE sur une même machine. Comme nous n'avons
pour le moment installé que le MSDE, le problème ne s'est pas posé
L'installation de MSDE est réputée difficile. Ceux qui on lancé cette
affirmation ne se sont jamais frotté à l'installation d'Oracle 7.1. Ou alors
Microsoft a fait des progrès pour la version que nous avons utilisée ici, ce
qui est tout à fait probable. Et surtout il y a maintenant Internet et Google,
qui a été utilisé une dizaine de fois pour résoudre un problème ici ou là. En
résumé, l'installation n'à voir avec celle d'Interbase, mais cela c'est bien
mieux passé que ces rumeurs ne le laissaient supposer. En gros une petite
journée, en comptant les copies d'écran.
6.2 - Documentation
Comme MDSE n'est que la version gratuite, légèrement bridée et sans outils
graphiques annexes de SQl Server, la documentation proposée par Microsoft est
celle de SQL Server.
Via Google, vous trouverez sans difficulté la documentation .HTML.
Microsoft propose aussi des versions téléchargeables sur votre PC. A titre
d'info, nous avons récupéré
- sqlbolsetup_fr.msi: "SQL Books Online (35.4 MB)
- une version anglaise serait obtenue sur la page
"SQL Server Books Online January 2004 Update"
7 - Télécharger les fichiers de paramètres
Vous pouvez télécharger:
Ce .ZIP qui comprend:
- le .DPR, la forme principale, les formes annexes eventuelles
- les fichiers de paramètres (le schéma et le batch de création)
- dans chaque .ZIP, toutes les librairies nécessaires à chaque projet (chaque
.ZIP est autonaume)
Ces .ZIP contiennent des chemins RELATIFS. Par conséquent:
- créez un répertoire n'importe où sur votre machine
- placez le .ZIP dans ce répertoire
- dézippez et les sous-répertoires nécessaires seront créés
- compilez et exécutez
Ces .ZIP ne modifient pas votre PC (pas de changement de la Base de Registre,
de DLL ou autre). Pour supprimer le projet, effacez le répertoire.
Comme d'habitude:
- nous vous remercions de nous signaler toute erreur, inexactitude ou
problème de téléchargement en envoyant un e-mail à jcolibri@jcolibri.com. Les corrections
qui en résulteront pourront aider les prochains lecteurs
- tous vos commentaires, remarques, questions, critiques, suggestion
d'article, ou mentions d'autres sources sur le même sujet seront de même
les bienvenus à jcolibri@jcolibri.com.
- plus simplement, vous pouvez taper (anonymement ou en fournissant votre
e-mail pour une réponse) vos commentaires ci-dessus et nous les envoyer en
cliquant "envoyer" :
- et si vous avez apprécié cet article, faites connaître notre site,
ajoutez un lien dans vos listes de liens ou citez-nous dans vos réponses
sur les messageries. C'est très simple: plus nous aurons de visiteurs et de
références Google, plus nous écrirons d'articles.
8 - L'auteur
John COLIBRI est passionné par le développement
Delphi et les applications de Bases de Données. Il a écrit de nombreux livres
et articles, et partage son temps entre la
développement de projets pour
ses clients, le conseil et la formation. Son site contient des articles
avec code source, ainsi que le programme et le calendrier des
stages
de formation Delphi, base de données, Ado.Net, Asp.Net et UML qu'il
anime personellement tous les mois, à Paris, en province ou sur site client.
|