Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1528 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  lancement d'un script sql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lancement d'un script sql

n°1236553
lapartdomb​re
Posté le 02-11-2005 à 15:45:15  profilanswer
 

J'ai réalisé un fichier transfert_table.sh, ressemblant à ceci:
 

Code :
  1. #------------------------------------------------#
  2. # -- (1) VERIFICATION DU NOMBRE DE PARAMETRES -- #
  3. #------------------------------------------------#
  4. if [ $# -ne 2 ]
  5. then
  6.      echo "\nERREUR DANS LE NOMBRE DE PARAMETRES : "
  7.      echo "SYNTAXE : $0 USR PWD"
  8.      echo " - USR : Nom du login oracle"
  9.      echo " - PWD : Mot de passe oracle \n"
  10.      exit 1
  11. else
  12.      USR=$1
  13.      PWD=$2
  14. fi
  15.   #-------------------------------------#
  16. # -- (2) DECLARATION DES VARIABLES -- #
  17. #-------------------------------------#
  18.    
  19. # FICHIER DE TRACE
  20. FIC_TRACE=$SH_LOG/exemple.trc
  21. # FICHIER DE SCRIPT SQL
  22. SCRIPT_SQL = $FIC_SQL/copieTable.sql
  23. sqlplus -s $USR/$PWD@bouclage_v3 $SCRIPT_SQL  >> $FIC_TRACE
  24. codret=$?
  25. if [ $codret != 0 -a $codret != 2 ]
  26. then
  27.      echo "===========================================================" >>$FIC_TRACE
  28.      echo "= Probleme lors du chargement de la table                 =" >>$FIC_TRACE
  29.      echo "= FIN DU TRAITEMENT EN ERREUR                             =" >>$FIC_TRACE   
  30.      date >>$FIC_TRACE
  31.      echo "===========================================================" >>$FIC_TRACE   
  32.      exit 1
  33. else
  34.      echo "=> FIN SQLPLUS SANS ERREUR" >>$FIC_TRACE
  35.      echo "" >>$FIC_TRACE
  36. fi
  37. exit 0
  38. #EOF#


 
Et quand je l'execute j'ai comme erreur :  
 

Code :
  1. ksh: transfert_table.sh: cannot execute


 
Je ne comprends pas ce qi est incorrect

mood
Publicité
Posté le 02-11-2005 à 15:45:15  profilanswer
 

n°1236623
skeye
Posté le 02-11-2005 à 16:41:08  profilanswer
 

Il a les droits d'exécution, ton fichier?[:petrus75]


---------------
Can't buy what I want because it's free -
n°1236632
lapartdomb​re
Posté le 02-11-2005 à 16:47:40  profilanswer
 

comment je peux faire pour le voir?

n°1236634
lapartdomb​re
Posté le 02-11-2005 à 16:48:27  profilanswer
 

ou pour lui donner les droits d'execution?

n°1236635
skeye
Posté le 02-11-2005 à 16:49:28  profilanswer
 

man ls?
man chmod?


---------------
Can't buy what I want because it's free -
n°1236637
lapartdomb​re
Posté le 02-11-2005 à 16:49:50  profilanswer
 

d'accord j'avais bien un probleme avec les droit d'execution mais j'ai aussi un probleme sur la ligne de commande sqlplus mais je ne vois pas ou

n°1236642
skeye
Posté le 02-11-2005 à 16:52:40  profilanswer
 

il te dit quoi?


---------------
Can't buy what I want because it's free -
n°1236646
lapartdomb​re
Posté le 02-11-2005 à 16:56:13  profilanswer
 


Code :
  1. Syntaxe : SQLPLUS [<option>] [logon] [<start>] ]
  2. où <option> ::= -H | -V | [ [-L] [-M <o>] [-R <n>] [-S] ]
  3.       <logon>  ::= <nom-utilisateur>[/<mot-passe>][@<chaîne_connexion>] | / | /NOLOG }
  4.       <start>  ::= @<URI>|<nom-fichier>[.<ext>] [<paramètre> ...]
  5.         "-H" affiche le numéro de version de SQL*Plus et la syntaxe
  6.         "-V" affiche le numéro de version de SQL*Plus
  7.         "-L" tente de se connecter une seule fois
  8.         "-M <o>" utilise les options de balisage HTML <o>
  9.         "-R <n>" utilise le mode restreint <n>
  10.         "-S" utilise le mode silencieux

n°1236650
skeye
Posté le 02-11-2005 à 16:57:34  profilanswer
 

...bah débrouille toi pour générer une syntaxe correcte, alors! [:mlc]


---------------
Can't buy what I want because it's free -
n°1236654
lapartdomb​re
Posté le 02-11-2005 à 17:00:25  profilanswer
 

oui mais pour moi ma syntaxe est correcte..

mood
Publicité
Posté le 02-11-2005 à 17:00:25  profilanswer
 

n°1236661
skeye
Posté le 02-11-2005 à 17:03:32  profilanswer
 

Dans ton code il y a un -s, et dans le message d'erreur un -S...:o


---------------
Can't buy what I want because it's free -
n°1238127
couak
Posté le 03-11-2005 à 20:34:40  profilanswer
 

pour commencer, mettre une ligne de shebang :

Code :
  1. #!/bin/ksh


lorsque l'on exécute un script qui est exécutable (exécutable par un chmod +x) il va interpréter la shebang line
sous linux c'est un peu plus souple mais genre des vieux AIX ou Solaris il faut la ligne de shebang
 
ensuite pour sqlplus, il est possible d'appeler directement ton script avec @
 

Code :
  1. sqlplus user/passwd@SID @script.sql


 
si tu veux un mode silencieux, mettre plutôt un "echo off;" dans ton .sql

n°1238411
lapartdomb​re
Posté le 04-11-2005 à 09:52:46  profilanswer
 

Qu'est ce qu'on shebang???
 
A quoi sert le echo off?? En fait quand moi je lance le script dans ma console il m'ouvre sqlplus dans la console. Est ce possible de le fermer dans mon shell

n°1238479
couak
Posté le 04-11-2005 à 11:04:12  profilanswer
 

ligne de shebang = 1ère ligne de ton fichier pour spécifier l'exécutable qui va être utilisé quand tu exécutes ton script
 
pour quitter sqlplus, tu ajoutes "exit;" à la dernière ligne de ton script .sql


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  lancement d'un script sql

 

Sujets relatifs
[php] lancement automatique d'un scriptProblème de lancement de script java en asp :(
[Debutant] MSSQL => Lancement script TransacSQL, cyclique chaque joursauvegarder toutes les variables au lancement du script
lancement script planifié tous les jours[Batch] Script pour mesurer le temps de lancement d'une application
[VB, DTS] lancement d'un lot DTS à partir d'un script VBLancement d'un programme JAVA via un script
pb au lancement d'un scriptBug dans le lancement d'un script a heure reguliere
Plus de sujets relatifs à : lancement d'un script sql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR