Difference between revisions of "FR/Documentation/HSQLDB Guide/ch08"

From Apache OpenOffice Wiki
Jump to: navigation, search
(Buts, Changements d'habitudes)
(Buts, Changements d'habitudes)
Line 15: Line 15:
  
 
SqlTool est supérieur pour une utilisation interactive, car depuis de nombreuses années beaucoup des caractéristiques élaborées se sont révélée efficaces pour une utilisation quotidienne. Trois commandes d'aide (\?, :?, et *?) listent toutes les commandes disponibles. SqlTool ne prend pas en charge flèche-haut ou d'autres OOB échappements <font color="red">'''[SqlTool doesn't support up-arrow or other OOBescapes]'''</font> (à cause des limitations de base des entrées-sorties Java). Mais il fait plus que compenser cette limitation avec des alias, des variables utilisateur, l'historique et le rappel des lignes de commandes et l'édition en ligne de commande avec les expressions régulières en Perl/Java étendu. La commande \d livre les informations sur les métadonnées  JDBC de façon aussi cohérente que possible (dans certains cas, des bases de données spécifiques sont utilisées pour obtenir les données sous-jacentes, même si la base de données ne fournit pas de métadonnées selon les spécifications JDBC). Contrairement aux caractéristiques d'un langage côté serveur, la même fonctionnalité fonctionne pour tout serveur de base de données. Les détails des accès aux bases de données peuvent être effectués en ligne de commande, mais les utilisateurs au quotidien voudront centraliser les détails de la connexion JDBC en un seul fichier protégé RC. Vous pouvez mettre les détails de la connexion dans votre fichier RC pour évaluer les bases de données cibles (nom d'utilisateur, mot de passe, URL, et autres paramètres facultatifs), puis vous connecter à chacune d'entre elles à chaque fois que vous le voulez simplement en fournissant son ID ("urlid") à SqlTool. Lorsque vous exécutez SqlTool de façon interactive il se comporte par défaut exactement comme vous le souhaitez. Si des erreurs se produisent, vous obtenez des messages d'erreur spécifiques et vous pouvez décider de revenir sur votre session. Vous pouvez facilement changer ce comportement pour auto-exécuter [auto-commit], sortir sur erreur, etc … , pour la session en cours ou pour toutes les invocations interactives. Vous pouvez importer ou exporter des fichiers de valeurs délimitées.
 
SqlTool est supérieur pour une utilisation interactive, car depuis de nombreuses années beaucoup des caractéristiques élaborées se sont révélée efficaces pour une utilisation quotidienne. Trois commandes d'aide (\?, :?, et *?) listent toutes les commandes disponibles. SqlTool ne prend pas en charge flèche-haut ou d'autres OOB échappements <font color="red">'''[SqlTool doesn't support up-arrow or other OOBescapes]'''</font> (à cause des limitations de base des entrées-sorties Java). Mais il fait plus que compenser cette limitation avec des alias, des variables utilisateur, l'historique et le rappel des lignes de commandes et l'édition en ligne de commande avec les expressions régulières en Perl/Java étendu. La commande \d livre les informations sur les métadonnées  JDBC de façon aussi cohérente que possible (dans certains cas, des bases de données spécifiques sont utilisées pour obtenir les données sous-jacentes, même si la base de données ne fournit pas de métadonnées selon les spécifications JDBC). Contrairement aux caractéristiques d'un langage côté serveur, la même fonctionnalité fonctionne pour tout serveur de base de données. Les détails des accès aux bases de données peuvent être effectués en ligne de commande, mais les utilisateurs au quotidien voudront centraliser les détails de la connexion JDBC en un seul fichier protégé RC. Vous pouvez mettre les détails de la connexion dans votre fichier RC pour évaluer les bases de données cibles (nom d'utilisateur, mot de passe, URL, et autres paramètres facultatifs), puis vous connecter à chacune d'entre elles à chaque fois que vous le voulez simplement en fournissant son ID ("urlid") à SqlTool. Lorsque vous exécutez SqlTool de façon interactive il se comporte par défaut exactement comme vous le souhaitez. Si des erreurs se produisent, vous obtenez des messages d'erreur spécifiques et vous pouvez décider de revenir sur votre session. Vous pouvez facilement changer ce comportement pour auto-exécuter [auto-commit], sortir sur erreur, etc … , pour la session en cours ou pour toutes les invocations interactives. Vous pouvez importer ou exporter des fichiers de valeurs délimitées.
 +
 +
Lorsque vous exécutez SqlTool avec un script SQL, il se comporte par défaut exactement comme vous le souhaitez. Si une erreur est rencontrée, la connexion sera annulée, puis SqlTool quittera le programme en fournissant un code d'erreur. Si vous le souhaitez, vous pouvez détecter et  traiter cette erreur (ou une autre) de la façon que vous voulez. Pour les scripts suspects de produire des erreurs (comme de nombreux scripts de base de données issus des éditeurs), vous pouvez continuer avec SqlTool-upon-erreur. Pour programmeurs de scripts SQL, vous aurez accès à des fonctionnalités portabilité de scripts qui vous n'avez jamais connues. Vous pouvez utiliser un jeu de variables en ligne de commande ou dans votre script. Vous pouvez traiter les erreurs spécifiques avec des commandes SQL ou vos variables. Vous pouvez enchaîner les scripts SQL, appeler des programmes externes, transférer des données à des fichiers et utiliser des déclarations préalables.  Enfin, vous disposez d'un langage procédural avec les déclarations <tt> if, foreach, while, continue</tt> et <tt>break</tt>.

Revision as of 23:37, 27 March 2009




L'Outil SQL

Buts, Changements d'habitudes

Ce document explique comment utiliser sqlTool. Son but principal est de lire vos fichiers textes SQL ou stdin et exécuter les commandes SQL à cet égard contre une base de donnée JDBC. SqlTool a également un grand nombre de caractéristiques pour faciliter à la fois l'usage interactif et l'automation. Les paragraphes suivants expliquent, d'une manière générale, pourquoi SqlTool est meilleur que les quelques outils existants pour le travail interactif de SQL en mode texte et pour les tâches automatisées. SqlTool partage deux bénéfices importants avec les autres outils JDBC en pur Java. Le premier est de fournir aux utilisateurs une interface et une syntaxe conséquentes pour interagir avec une immense variété de bases de données, toutes les bases de données supportant JDBC. Le second est que l'outil lui-même fonctionne sur toutes les plateformes Java. Au lieu d'utiliser isql pour Sybase, psql pour Postgresql, sql*plus pour Oracle, etc … vous pouvez utiliser SqlTool pour chacune d'entre elles. Aussi loin que portent mes connaissances, SqlTool est le seul à être : prêt pour la production, pur Java, en ligne de commande et client générique JDBC. Différentes bases de données se présentent avec une interface en ligne de commande avec des capacités JDBC limitées (habituellement destinées pour un usage dans leur base de donnée spécifique).

SqlTool n'est résolument pas une interface de programmation [Gui tool] comme Toad ou DatabaseManager. Il y a de nombreux cas où une interface de programmation pourrait être préférable. Là où une automation est requise, vous avez réellement besoin d'un [text client] pour tester proprement les objets et le prototype du programme. Un outil en ligne de commande est réellement supérieur pour exécuter les scripts SQL, l'automation, la recherche directe de fichiers et les accès distants. Pour clarifier cela, si vous avez à faire votre travail SQL « client » à partir d'un serveur par une connexion VPN vous apprécierez rapidement la différence de vitesse entre la transmission de données en interface texte et la transmission de données en interface graphique, même si vous utilisez VNC ou Remote Console. Vous l'apprécierez également lorsque vous ferez des tâches répétitives ou très structurées où variables et caractéristiques du langage devront être utilisées. Les partisans d'une interface graphique peuvent être en désaccord avec moi. Mais l'écriture de scripts (ou autres) est plus efficiente qu'un copié-collé répétitif avec un interface graphique. SqlTool démarre très rapidement et occupe une portion congrue de mémoire vive en comparaison avec une interface graphique complexe telle Toad.

SqlTool est supérieur pour une utilisation interactive, car depuis de nombreuses années beaucoup des caractéristiques élaborées se sont révélée efficaces pour une utilisation quotidienne. Trois commandes d'aide (\?, :?, et *?) listent toutes les commandes disponibles. SqlTool ne prend pas en charge flèche-haut ou d'autres OOB échappements [SqlTool doesn't support up-arrow or other OOBescapes] (à cause des limitations de base des entrées-sorties Java). Mais il fait plus que compenser cette limitation avec des alias, des variables utilisateur, l'historique et le rappel des lignes de commandes et l'édition en ligne de commande avec les expressions régulières en Perl/Java étendu. La commande \d livre les informations sur les métadonnées JDBC de façon aussi cohérente que possible (dans certains cas, des bases de données spécifiques sont utilisées pour obtenir les données sous-jacentes, même si la base de données ne fournit pas de métadonnées selon les spécifications JDBC). Contrairement aux caractéristiques d'un langage côté serveur, la même fonctionnalité fonctionne pour tout serveur de base de données. Les détails des accès aux bases de données peuvent être effectués en ligne de commande, mais les utilisateurs au quotidien voudront centraliser les détails de la connexion JDBC en un seul fichier protégé RC. Vous pouvez mettre les détails de la connexion dans votre fichier RC pour évaluer les bases de données cibles (nom d'utilisateur, mot de passe, URL, et autres paramètres facultatifs), puis vous connecter à chacune d'entre elles à chaque fois que vous le voulez simplement en fournissant son ID ("urlid") à SqlTool. Lorsque vous exécutez SqlTool de façon interactive il se comporte par défaut exactement comme vous le souhaitez. Si des erreurs se produisent, vous obtenez des messages d'erreur spécifiques et vous pouvez décider de revenir sur votre session. Vous pouvez facilement changer ce comportement pour auto-exécuter [auto-commit], sortir sur erreur, etc … , pour la session en cours ou pour toutes les invocations interactives. Vous pouvez importer ou exporter des fichiers de valeurs délimitées.

Lorsque vous exécutez SqlTool avec un script SQL, il se comporte par défaut exactement comme vous le souhaitez. Si une erreur est rencontrée, la connexion sera annulée, puis SqlTool quittera le programme en fournissant un code d'erreur. Si vous le souhaitez, vous pouvez détecter et traiter cette erreur (ou une autre) de la façon que vous voulez. Pour les scripts suspects de produire des erreurs (comme de nombreux scripts de base de données issus des éditeurs), vous pouvez continuer avec SqlTool-upon-erreur. Pour programmeurs de scripts SQL, vous aurez accès à des fonctionnalités portabilité de scripts qui vous n'avez jamais connues. Vous pouvez utiliser un jeu de variables en ligne de commande ou dans votre script. Vous pouvez traiter les erreurs spécifiques avec des commandes SQL ou vos variables. Vous pouvez enchaîner les scripts SQL, appeler des programmes externes, transférer des données à des fichiers et utiliser des déclarations préalables. Enfin, vous disposez d'un langage procédural avec les déclarations if, foreach, while, continue et break.

Personal tools