web-dev-qa-db-fra.com

SQLDeveloper prend-il en charge l’exécution de scripts?

J'essayais de suivre certaines instructions aujourd'hui, et cela commence par le commentaire 


REM  In SQLPlus I manually copy in each line and execute it.

C'est bien, je n'ai pas SQLPlus, j'ai SQLDeveloper. Les lignes qui ont été collées étaient du type:


@\\server\dir\dir\dir\commandfile1.txt;
COMMIT;

...etc.

Cela ne me plaisait pas lorsque j'ai essayé cela dans une fenêtre SQL. J'ai ouvert et collé à la main dans les commandes, et ça ne me plaisait pas non plus. (Ai-je mentionné que je ne suis pas très bon avec cette application ni Oracle, mais que tout le monde était dehors aujourd'hui?) Les fichiers là-bas ont commencé avec du code comme:


rem
set echo on
rem
execute procedure_name ('parameter1', 'parameter2');

Un collègue avait SQLPlus et nous l'avons résolu ensemble. Mais, y a-t-il un moyen pour moi de faire cela avec SQLDeveloper, donc je ne suis pas bloqué s'il est absent aussi?

24
thursdaysgeek

Pour exécuter des scripts dans SQL Developer:

@"\Path\Scriptname.sql"

(Vous n'avez besoin que des guillemets s'il y a des espaces)

Vous pouvez définir un chemin par défaut: menu Outils> Préférences> Base de données> Feuille de calcul> Sélectionner le chemin par défaut pour rechercher des scripts. 

60
user313218

Je cherchais dans les fichiers d'aide et j'ai trouvé comment le faire dans Concepts et utilisation de SQL Developer -> Utilisation de la feuille de calcul SQL -> Script Runner.

Fondamentalement, vous devez faire précéder le nom du fichier avec un @. Par exemple, @C:\MyScript\Script.sql.

Vous pouvez ensuite en exécuter un lot de cette façon. Notez que la commande ne semble pas aimer les espaces dans le chemin du fichier.

2
jacket_and_hat

Pour chaque fichier que vous devez exécuter, trouvez-le et déposez-le dans SQLDeveloper. Exécutez le script (F5) puis validez (F11). Cela fonctionnera pour certains scripts, mais pas tous.

1
Leigh Riffel

vous pouvez le faire en utilisant sqlcl de la même manière que vous le feriez en utilisant SQL PLUS, à partir de la ligne de commande:

sqlcl user/password@Host:port:sid @file.sql

le fichier doit être dans le même répertoire que sqlcl.

Cette solution est la meilleure option si vous essayez d'exécuter beaucoup d'instructions sur un fichier SQL. 

0
Jorge Moreno

SQL Developer est livré avec un autre outil appelé sqlcl . Cela ressemble un peu à SQLPlus mais utilise en fait des bits de SQL Developer pour donner une interface de type ligne de commande/script compatible. 

Vous pourrez l'utiliser pour exécuter des commandes de style sqlplus sans combattre les extras de l'interface graphique de style développeur SQL, ce qui peut prêter à confusion.

Recherchez-le sous l'endroit où le développeur SQL est assis. Si vous ne l'avez pas là, vous pouvez le télécharger et le déployer dans votre dossier sqldeveloper.

0
hughk