Executer des requetes sql dans un .ksh
Résolu/Fermé
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
-
19 juin 2008 à 13:07
rojina2903 Messages postés 96 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 5 juin 2009 - 19 juin 2008 à 15:57
rojina2903 Messages postés 96 Date d'inscription mercredi 18 juin 2008 Statut Membre Dernière intervention 5 juin 2009 - 19 juin 2008 à 15:57
A voir également:
- Exécuter script sql ligne de commande
- Invite de commande - Guide
- Script vidéo youtube - Guide
- Partage de photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Commande terminal mac - Guide
10 réponses
jee pee
Messages postés
40598
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 décembre 2024
9 464
19 juin 2008 à 13:11
19 juin 2008 à 13:11
salut,
sur la ligne sqlplus il ne faut pas mettre de blanc devant l'@ , elle doit être collée au password
cdt
sur la ligne sqlplus il ne faut pas mettre de blanc devant l'@ , elle doit être collée au password
sqlplus $UserName/$PassWord@$BaseName >>$journal
cdt
jee pee
Messages postés
40598
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 décembre 2024
9 464
19 juin 2008 à 13:19
19 juin 2008 à 13:19
en plus si tu veux rerouter le fichier d'entrée (qui est le clavier) il faut faire quelque chose du genre
ou alors, mais je ne me rappelle pas exactement la syntaxe du lancement directement du sql sur la ligne sqlplus :
sqlplus $UserName/$PassWord@$BaseName <fininput >>$journal @$PATH_SQL/selection.sql fininput
ou alors, mais je ne me rappelle pas exactement la syntaxe du lancement directement du sql sur la ligne sqlplus :
sqlplus $UserName/$PassWord@$BaseName @$PATH_SQL/selection.sql >>$journal
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
13
19 juin 2008 à 13:35
19 juin 2008 à 13:35
j'ai essaiyé ( sqlplus $UserName/$PassWord@$BaseName @$PATH_SQL/selection.sql >>$journal)
quand je fais l' exit il ne m'affiche plus l'erreur me disant que le fichier .sql n'existe pas (not found) mais il n'execute pas la requete
il se peut que ce soit un probleme venant du fichier .sql lui meme
ci après le ontenu de selection.sql:
Select *
from CAT;
merci
quand je fais l' exit il ne m'affiche plus l'erreur me disant que le fichier .sql n'existe pas (not found) mais il n'execute pas la requete
il se peut que ce soit un probleme venant du fichier .sql lui meme
ci après le ontenu de selection.sql:
Select *
from CAT;
merci
jee pee
Messages postés
40598
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 décembre 2024
9 464
>
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
19 juin 2008 à 13:40
19 juin 2008 à 13:40
déja il faut regler le choix de la base via le listenr oracle ou pas comme indiqué au message 4
ensuite il faut que tu testes à la main ta ligne de commande avant de la mettre dans un script pour verifier qu'elle fonctionne, style :
sqlplus system/manager @selection.sql
ensuite il faut que tu testes à la main ta ligne de commande avant de la mettre dans un script pour verifier qu'elle fonctionne, style :
sqlplus system/manager @selection.sql
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
13
19 juin 2008 à 13:21
19 juin 2008 à 13:21
salut jee pee
oui effectivement faut que ce soit coller, je l'ai vu dans des cours sur le net, mais quand je la colle ça marche pas: Le script s'execute très bien et me connecte à oracle mais pas à la base de données , oracle m'affiche un message d'erreur me disant que le nom d'utilisateur ou le mot de passe est incorrecte mais quand je laisse un blanc (comme dans mon code) ça marche très bien, je sais pas pourquoi mais ça marche
oui effectivement faut que ce soit coller, je l'ai vu dans des cours sur le net, mais quand je la colle ça marche pas: Le script s'execute très bien et me connecte à oracle mais pas à la base de données , oracle m'affiche un message d'erreur me disant que le nom d'utilisateur ou le mot de passe est incorrecte mais quand je laisse un blanc (comme dans mon code) ça marche très bien, je sais pas pourquoi mais ça marche
jee pee
Messages postés
40598
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 décembre 2024
9 464
19 juin 2008 à 13:27
19 juin 2008 à 13:27
quand tu utilises une syntaxe user/mdp@base , le noyau oracle n'est pas cherché localement mais via le sqlnet,
il faut donc que le listener oracle pour la base concernée soit lancé (et fichiers listener.ora et tnsnames.ora paramètrés)
quand tu fais sqlplus user/mdp le listener n'est pas utilisé, oracle prend en compte la variable d'environnement locale ORACLE_SID pour choisir la base locale où se connecter
il faut donc que le listener oracle pour la base concernée soit lancé (et fichiers listener.ora et tnsnames.ora paramètrés)
quand tu fais sqlplus user/mdp le listener n'est pas utilisé, oracle prend en compte la variable d'environnement locale ORACLE_SID pour choisir la base locale où se connecter
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
13
19 juin 2008 à 13:55
19 juin 2008 à 13:55
et comment je regle ce probleme? comment faire pour lancer le listener?
jee pee
Messages postés
40598
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 décembre 2024
9 464
19 juin 2008 à 13:59
19 juin 2008 à 13:59
cf l'administrateur de la base qui l'a installée sur la machine.
mais si dans ton environnement la variable ORACLE_SID est initialisée, tu n'as pas besoin du listener qui est plutot utilisé pour les accès distants, pas les accès locaux
mais si dans ton environnement la variable ORACLE_SID est initialisée, tu n'as pas besoin du listener qui est plutot utilisé pour les accès distants, pas les accès locaux
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
13
19 juin 2008 à 14:11
19 juin 2008 à 14:11
avant de creer le script pour la connexion à la base de donner je devais saisir dans la console "ORACLE_SID=bterec", mais là dans mon script je le fais pas et pourtant ça marche, je comprend pas pour quoi, sauf que ça me connecte mais n'execute pas les fichier comme déjà expliqué
jee pee
Messages postés
40598
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 décembre 2024
9 464
19 juin 2008 à 14:26
19 juin 2008 à 14:26
si tu as renseigné l'ORACLE_SID, il est aussi valable pour toute la session donc aussi pour ton script qui est un processus fils de la session
avant de mettre la commande dans un script est-ce que à la main elle fonctionne ????
sqlplus user/mdp @toto.sql
avant de mettre la commande dans un script est-ce que à la main elle fonctionne ????
sqlplus user/mdp @toto.sql
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
13
19 juin 2008 à 14:42
19 juin 2008 à 14:42
oui je viens de tester en ligne de commande et ça marche très bien
jee pee
Messages postés
40598
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 décembre 2024
9 464
19 juin 2008 à 14:44
19 juin 2008 à 14:44
donc fait un script qui contient juste la meme commande , sans passer par des variables, pour voir ce qui se passe
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
13
19 juin 2008 à 14:58
19 juin 2008 à 14:58
oui, merci beaucoup jee pee, ça marche très bien mtn mais j'ai un soucis
je fais dans mon script: sqlplus $UserName/$PassWord @../sql/selection.sql et ça marche mais quand j'ajoute le nom de la base de donnée comme suit : $UserName/$PassWord @$BaseName @../sql/selection.sql ça marche pas, il se connecte à oracle mais sans executer la requete.
cette solution marche parce que le ORACLE_SID reste valable comme vous m'avez expliqué mais supposons que le script est executé sur un autre poste ça va pas marcher non?
je fais dans mon script: sqlplus $UserName/$PassWord @../sql/selection.sql et ça marche mais quand j'ajoute le nom de la base de donnée comme suit : $UserName/$PassWord @$BaseName @../sql/selection.sql ça marche pas, il se connecte à oracle mais sans executer la requete.
cette solution marche parce que le ORACLE_SID reste valable comme vous m'avez expliqué mais supposons que le script est executé sur un autre poste ça va pas marcher non?
jee pee
Messages postés
40598
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 décembre 2024
9 464
19 juin 2008 à 15:02
19 juin 2008 à 15:02
(dans le texte que tu donnes tu as encore un blanc devant le @$BaseName ce n'est pas bon)
dans ton script tu n'as qu'à initialiser ORACLE_SID avec le nom de la base que tu saisis au début ($BaseName) , comme cela la variable est initialisée
dans ton script tu n'as qu'à initialiser ORACLE_SID avec le nom de la base que tu saisis au début ($BaseName) , comme cela la variable est initialisée
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
13
19 juin 2008 à 15:20
19 juin 2008 à 15:20
merci beaucoup jee pee mtn mon script marche et j'ai fais un ( export ORACLE_SID=$BaseName) et je n'utilise plus le nom de la base dans la ligne du sqlplus. par contre le probleme de l'espace je sais pas comment le resoudre
merci et à très bientot
merci et à très bientot
jee pee
Messages postés
40598
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
27 décembre 2024
9 464
19 juin 2008 à 15:35
19 juin 2008 à 15:35
pour marcher avec la syntaxe user/mdp@base comme je te l'ai indiqué, il faut paramétrer et activer le listener oracle sur l'environnement concerné. Pour cela il faut voir avec l'administrateur de la base ou machine si c'est paramétré ou pas et comment.
rojina2903
Messages postés
96
Date d'inscription
mercredi 18 juin 2008
Statut
Membre
Dernière intervention
5 juin 2009
13
19 juin 2008 à 15:57
19 juin 2008 à 15:57
d'accord
merci beaucoup
merci beaucoup