SQWareProduction:db2:bin:sqwdb2 ExecSQL.ksh
Sommaire
Presentation
Script $gvsqw_D2db2Bin/sqwdb2_ExecSQL.ksh :
execute un fichier SQL sur l'instance
Aide en ligne
L'aide en ligne est accessible dans la plupart des scripts avec l'option -h.
Ex: $gvsqw_D2db2Bin/sqwdb2_ExecSQL.ksh -h
Contenu de l'aide :
Sourcing sqwdb2_Global.lib v2024.07 SQWareProduction for Db2 (dbSQWare) ... Usage: sqwdb2_ExecSQL.ksh [-h] -I <instance> [+ options] DESCRIPTION sqwdb2_ExecSQL.ksh execute SQL file on instance SUPPORT All rdbms type and version PARAMETERS -I instance : Target instance. -F FileName : Filename to execute. OPTIONS -h : Display the full usage. -s : Display samples of usage. -Opt option : Additional options for sql connection. -FRT code : Force return code value on error. -NoMail : Deactivate sendmail on error pmexpdba@gmail.com (by default, send on error). -Locale locale : Force Locale for help display (fr,en). -AddMail email : Email address to add at 'pmexpdba@gmail.com'. -SendReport : Send execution log report. -Dist : For distant connection to database (change $gvsqw_ConnectString to $gvsqw_DistConnectString ). -Exec : Run commands (by default, display generated commands).
Traitement de l'erreur
Erreurs de parse des arguments
Ce type de message est genere:
Lack instance parameter, Usage: sqwdb2_ExecSQL.ksh [-h] -I <instance> [+ options] For full help : sqwdb2_ExecSQL.ksh -h
Si vous vous connectez via un terminal, aucun mail ne sera envoyé et vous aurez plutôt ce type de message:
Not sending mail because you are in connected mode !!! Lack instance parameter ./sqwdb2_ExecSQL.ksh[1746]: db2: not found [No such file or directory]
Si vous n'êtes pas connecté à un terminal, le message d'erreur apparaît et est envoyé par mail à l'adresse contenue dans la variable $gvsqw_GlobalMail (Voir l'aide pour personnaliser cette variable). L'objet commence toujours par "$gvsqw_MailMsg_db2 : " (Voir l'aide pour personnaliser cette variable).
Execution errors
Que vous soyez ou non connecté à un terminal, le message d'erreur apparaît et un mail contenant un résumé des erreurs de traitement est envoyé à l'adresse contenue dans la variable $gvsqw_GlobalMail (Voir l'aide pour personnaliser cette variable). L'objet commence toujours par "$gvsqw_MailMsg_db2 : " (Voir l'aide pour personnaliser cette variable).
Exemples d'utilisation
Sourcing sqwdb2_Global.lib v2024.07 SQWareProduction for Db2 (dbSQWare) ... #Standard generic (Locale) help for script sqwdb2_ExecSQL.ksh: $gvsqw_Db2/sqwgen_ExecSQL.ksh -h #Affichage de l'aide en ligne pour ce script $gvsqw_Db2/sqwgen_ExecSQL.ksh -Locale fr -h #Affichage de l'aide en ligne pour ce script avec forcage de la locale 'fr' (Locale par defaut geree par la variable $gvsqw_Locale) $gvsqw_Db2/sqwgen_ExecSQL.ksh -s #Affichage des exemples d'utilisation pour ce script $gvsqw_Db2/sqwgen_ExecSQL.ksh -I <Instance> -F <FileName> #Affiche l'ensemble des commandes generees par le script sans les executer $gvsqw_Db2/sqwgen_ExecSQL.ksh -I <Instance> -F <FileName> -Exec #Execute le fichier SQL <FileName> sur l'instance <Instance> $gvsqw_Db2/sqwgen_ExecSQL.ksh -I <Instance> -F <FileName> -Opt '<Option>' -Exec #Execute le script avec le parametre SQL optionnel <Option> $gvsqw_Db2/sqwgen_ExecSQL.ksh -I <Instance> -F <FileName> -AddMail 'mymail1@mydomaine.com,mymail2@mydomaine.com' -Exec #Ajoute la liste de mail a l'adresse par defaut geree par la variable $gvsqw_GlobalMail (seulement cette fois) $gvsqw_Db2/sqwgen_ExecSQL.ksh -I <Instance> -F <FileName> -SendReport -Exec #Envoie la log par mail a la fin du traitement meme s'il n'y a pas d'erreur (par defaut, seulement en cas d'erreur) $gvsqw_Db2/sqwgen_ExecSQL.ksh -I <Instance> -F <FileName> -NoMail -Exec #Desactive l'envoi de mail sur erreur a $gvsqw_GlobalMail (par defaut, seulement en cas d'erreur) $gvsqw_Db2/sqwgen_ExecSQL.ksh -I <Instance> -F <FileName> -FRT <NumericValue> -Exec #Force le code retour a '<NumericValue>' sur erreur (si pas d'erreur, "exit 0!") #Vous pouvez aussi forcer le code retour de ce script pour tous #si vous settez la variable d'environnement: $gvsqw_ForcedReturnCodeScript_sqwgen_ExecSQL=<NumericValue> #dans le fichier de configuration $gvsqw_Db2/../etc_cust/sqwgen_GlobalVar.cfg