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, pour les projets en Delphi 6, 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.
La notation utilisée est la notation alsacienne qui consiste à préfixer les identificateurs par la zone de compilation: K_onstant, T_ype, G_lobal,
L_ocal, P_arametre, F_unction, C_lasse. Elle est présentée plus en détail dans l'article La
Notation Alsacienne
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
blogs ou 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 le développement de projets (nouveaux projets, maintenance, audit, migration BDE, migration Xe_n, refactoring) pour ses clients, le
conseil (composants, architecture, test) 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, programmation objet, Services Web, Tcp/Ip et
UML qu'il anime personellement tous les mois, à Paris, en province ou sur site client. |