SQL Plus changer de répertoire courant
Comment peut-on changer le répertoire courant dans SQL Plus sous windows.
Je suis en train d'écrire un script avec plusieurs "@ nom de fichier" commandes.
Je sais qu'on peut ouvrir un script avec le Fichier --> Ouvrir, ce qui va changer le répertoire courant, mais je suis à la recherche d'un moyen de le faire automatiquement sans surveillance.
Résolution
Basé sur Plasmer de réponse, j'ai mis le SQLPATH variable d'environnement Windows, et a obtenu quelque chose qui est assez bon pour moi. Je n'ai pas essayer de l'activer avec la commande HÔTE (je doute que cela fonctionne).
Pourquoi Litytestdata la réponse est bonne, mais ne fonctionne pas pour moi (les répertoires sont trop éloignés). Et bien sûr, Guy de répondre qu'il ne peut pas être fait est également correcte. Je voterai ces deux, et accepter Plasmer de réponse.
OriginalL'auteur Andrew Stein | 2009-02-03
Vous devez vous connecter pour publier un commentaire.
Pourriez-vous utiliser le SQLPATH variable d'environnement à dire sqlplus où chercher pour les scripts que vous essayez d'exécuter? Je crois que vous pourriez utiliser HÔTE pour définir SQLPATH dans le script.
Il pourrait avoir des problèmes si deux scripts ont le même nom et les deux répertoires sont dans le SQLPATH.
OriginalL'auteur Plasmer
Voici ce que je fais.
Définir une variable pour vous aider:
Vous ne pouvez pas
cd
dans SQL*Plus (vous pouvezcd
à l'aide de la commande hôte, mais depuis qu'il est enfant d'un processus, les paramètres ne sont pas persister dans votre processus parent).OriginalL'auteur Tom
Je ne pense pas que vous pouvez changer le répertoire dans SQL*Plus.
Au lieu de changer de répertoire, vous pouvez utiliser
@@filename
, qui se lit dans un autre script dont l'emplacement est relatif au répertoire courant du script est en cours d'exécution. Par exemple, si vous avez deux scriptspuis
script1.sql
pouvez exécuterscript2.sql
si elle contient la ligneVoir cette pour plus d'informations sur
@@
.n' @@ work si vous utilisez des barres obliques au lieu de barres obliques inverses?
Non, il n'est pas.
-1 parce qu'il ne fonctionne que dans le cas spécial qui sqlplus a été démarré à partir de C:\Foo\Bar. Démarrer à partir d'un autre répertoire et la commande échouera avec un "SP2-0310: impossible d'ouvrir le fichier"
OriginalL'auteur Luke Woodward
Je ne pense pas que vous le pouvez!
script2.sql doit être en
/home/export/user1
.Vous utilisez le chemin d'accès complet, ou de quitter le script et commencer à
sqlplus
de nouveau à partir de la droite répertoire.(quelque chose comme ça - faire cela à partir de la mémoire!)
Blimey, un (presque) 10 ans faute de frappe!
OriginalL'auteur Guy
Avez-vous essayé de créer un raccourci windows pour sql plus et définir le répertoire de travail?
OriginalL'auteur Chetan Sastry
Je pense que le SQLPATH variable d'environnement est le meilleur moyen pour cela - si vous avez plusieurs chemins d'accès, saisissez-les en les séparant par des points-virgules (;). Gardez à l'esprit que si il y a des fichiers de script nommé de la même manière dans les répertoires, la première rencontrée (par ordre les chemins sont inscrits), sera exécuté, le second sera ignoré.
OriginalL'auteur eRick
Ans plus tard, j'ai eu le même problème. Ma solution est la création temporaire d'un fichier batch et une autre instance de sqlplus:
En premier Script SQL:
Note que "second_script.sql" a besoin d'une "sortie" énoncé à la fin si vous voulez revenir à la première..
OriginalL'auteur IOIO
Avec Oracle du nouveau SQLcl il y a un cd commande maintenant et d'accompagnement des personnes handicapées.
SQLcl peut être téléchargé ici: http://www.oracle.com/technetwork/developer-tools/sqlcl/overview/index.html
Voici un exemple rapide:
OriginalL'auteur Kris Rice
pour moi, les bombardements ne le travail, car il vous donne la possibilité d'exécuter [un] commande dans le shell:
http://www.dba-oracle.com/t_display_current_directory_sqlplus.htm
en bref voir le répertoire courant:
!pwd
changer
!cd /path/you/want
OriginalL'auteur Dirk Schumacher