Suite à mon précédent article concernant MSDE, je me suis rendu compte à partir des commentaires que de nombreux utilisateurs avaient des problèmes dans l'installation des outils graphiques. Or, par défaut, MSDE est pourvu d'un outil de gestion et d'administration très puissant : OSQL.
Ainsi Microsoft fournit avec MSDE, l'outil de base permettant d'administrer et de gérer complètement le moteur SQL et les bases de données présentes.
Nous allons donc voir comment appréhender cet outil et mieux s'en servir. Pour cela, nous verrons dans un premier temps les options de cet outil puis différents exemples d'utilisation de celui-ci.
Présentation
OSQL est un outil utilisable en ligne de commande (WIN32), ce qui permet de créer facilement des batchs l'utilisant. Il résulte de l'évolution de ISQL avec le support ODBC et le support des champs ntext, de plus OSQL ne tronque pas les champs de type texte à 255 caractères comme ISQL le fait.
Cet outil permet de se connecter à un serveur SQL Server 2000 et d'exécuter du code au format du langage TSQL. Ainsi on peut lancer des commandes de sélection, d'exécution, de mise à jour ou de suppression à partir de cet outil.
Nous pouvons donc aisément gérer un serveur SQL Server 2000 et donc MSDE. Il est fourni avec MSDE en standard afin de palier dans une certaine mesure au manque d'outil graphique.
Normalement, cet outil se trouve dans le répertoire, sur une installation standard de machine :
Quoi qu'il en soit, le répertoire où se situe l'outil est ajouté dans les PATH système de la machine ce qui permet de taper directement "osql" depuis une ligne de commande quelque soit le répertoire où l'on se trouve.
Dans nos exemples qui suivent nous allons nous créer un répertoire où tous les scripts SQL seront stockés.
C:\OSQLExemples\
Les paramètres
Afin de pouvoir utiliser cet outil, il faut déjà connaître tous les paramètres. Les principaux paramètres sont les suivants :
-U ou /U : Spécification du nom de l'utilisateur ou login
-P ou /P : Mot de passe associé à ce login
-S ou /S : Serveur SQL sous le format NomDuServeur\NomInstance
-E ou /E : Utilisation du mode interactif, OSQL utilisera les paramètres de connexion de l'utilisateur courant (Compte NT et mot de passe)
-d ou /d : Spécification de la base de données courante
-i ou /i : Fichier d'entrée (Requête SQL qui doit se finir par GO)
-o ou /o : Fichier de sortie des données
-? ou /? : Affichage de l'aide d'OSQL
De nombreuses autres options sont disponibles comme celles-ci :
-D ou /D : Utilisation d'un DSN existant déjà sur la machine pour une connexion ODBC
-L ou /L : Découverte de la liste des serveurs SQL Server disponible sur le réseau local
-p ou /p : Affichage des statistiques d'exécution après chaque requête effectuée
-q ou /q : Transmission directe de la requête SQL sans se déconnecter du serveur SQL
-Q ou /Q : Transmission directe de la requête SQL en se déconnectant du serveur SQL
...
Si vous souhaitez toutes les connaître, je vous invite à utiliser la commande "osql /?", elle vous ressortira la liste de toutes les options disponibles.
Les Commandes
Une fois connecté sur le serveur SQL, OSQL possède quelques commandes qui lui sont propres et qui permettent de travailler avec cet outil.
GO : Lance l'exécution du script TSQL tapé
EXIT ou QUIT : Quitte OSQL
RESET : Supprime toutes les commandes tapées dans OSQL (le numéro de la ligne repasse alors à 1)
ED : Lance l'éditeur de texte
CTRL+C : Stoppe l'exécution en cours sans quitter OSQL
!! command : Lance la commande MSDOS spécifiée
La commande ED lance l'éditeur de texte par défaut de la machine. Celui-ci est de base EDIT.COM, éditeur de texte en version MS-DOS. Pour changer cela il faut exécuter la commande "SET EDITOR=notepad" par exemple (pour avoir Notepad de base) dans une console MS-DOS.
Maintenant que nous avons listé les paramètres et les commandes utilisables, voyons comment nous servir de cet outil en utilisation basique de listing, puis en avancé avec l'exécution de scripts complexes pour une création de base.