> Tech > Intégrer les instructions SQLCMD

Intégrer les instructions SQLCMD

Tech - Par iTPro - Publié le 27 janvier 2011
email

L'utilitaire en ligne de commande SQLCMD est souvent ignoré par les utilisateurs de SQL Server qui lui préfèrent SQL Server Management Studio (SSMS) et son interface graphique. Pourtant SQLCMD dispose d'instructions qui lui sont propres et qui se révèlent particulièrement intéressantes lors de l'exécution de scripts. Afin d'améliorer le

Intégrer les instructions SQLCMD

comportement de SSMS, certaines instructions SQLCMD sont disponibles depuis SSMS et nous allons faire le point sur ces instructions SQLCMD disponibles depuis SSMS.

Tout d'abord depuis SSMS, il faut créer une nouvelle requête puis demander l'activation du mode SQLCMD depuis le menu Requête – Mode SQLCMD. Dès lors toute instruction SQLCMD apparaîtra avec un fond grisé, ce qui permet de les distinguer clairement des instructions Transact SQL. Sans l'activation de ce mode, les instructions SQLCMD ne pourront pas être interprétées. D'autre part, afin de bien faire la distinction entre les instructions Transact SQL et les instructions SQLCMD, ces dernières commencent toujours par le caractère ":".

Les instructions disponibles sont les suivantes.

r ‹nom_fichier›

Très pratique, cette instruction permet de demander le chargement d'un script directement depuis un fichier script exécuté depuis SSMS. L'exécution du script interviendra à la fin du script SSMS ou bien lors de l'exécution du séparateur de lots d'instruction GO.

Exemple d'utilisation de l'instruction :r pour charger et exécuter un script externe.

use Test;
go
r c:\exemple\test.sql
error [ fichier| STDERR | STDOUT]

Permet la redirection des erreurs directement vers un fichier ou bien vers le flux standard de sortie (STDOUT) ou d'erreur (STDERR).

out [ fichier | STDERR | STDOUT ]

Cette instruction permet de sauvegarder dans un fichier, le résultat de l'exécution d'un script transact SQL. Attention toutefois, car si le fichier de sortie existe déjà, il est écrasé et seul le résultat concernant le dernier script exécuté reste dans le fichier de résultat.

Exemple d'utilisation de l'instruction :out

out c:\exemple\resultat.txt
select * from sysdatabases;
go
connect nomServeur[\nomInstance] [-t timeout] [-U nomConnexion [-P
motDePasse] ]

Très pratique cette instruction permet de changer de connexion au cours d'un script et donc d'exécuter des instructions dans un contexte de sécurité différent. Cette instruction ne fonctionne qu'avec une sécurité SQL Server.

Exemple d'utilisation de l'instruction :connect

select suser_name()
go
connect monServeur -U monUtilisateur -P leMotDePasse
select suser_name()
go
on error [ exit | ignore ]

A l'aide de cette instruction, il est possible de définir le comportement à adopter lorsque qu'une erreur se produit en cours d'exécution. Voila les quelques éléments de SSMS que je souhaitais vous présenter et qui vous permettront de travailler encore plus efficacement avec cet outil.

Téléchargez gratuitement cette ressource

IBMi et Cloud : Table ronde Digitale

IBMi et Cloud : Table ronde Digitale

Comment faire évoluer son patrimoine IBMi en le rendant Cloud compatible ? Comment capitaliser sur des bases saines pour un avenir serein ? Faites le point et partagez l'expertise Hardis Group et IBM aux côtés de Florence Devambez, DSI d'Albingia.

Tech - Par iTPro - Publié le 27 janvier 2011