1 votes

Sqlplus et Ruby

Quelqu'un sait comment utiliser sqlplus en ruby? J'ai besoin de faire quelque chose comme ceci: system("sqlplus username/pwd@database filename.sql")

Merci /Niklas

2voto

mikej Points 30224

Pour que sqlplus lise son entrée à partir d'un fichier, vous devez préfixer le nom du fichier avec un symbole @. Donc ce qui suit fonctionnerait :

system("sqlplus", "username/pwd@database", "@filename.sql")

system peut être appelé soit avec un seul argument (votre commande complète) ou plusieurs arguments (avec les arguments de votre commande séparés comme dans l'exemple ci-dessus). La documentation pour Kernel#exec décrit la différence (system se comporte de la même manière) :

Si exec est donné un seul argument, cet argument est pris comme une ligne qui est soumise à une expansion shell avant d'être exécutée. Si plusieurs arguments sont donnés, le deuxième et les suivants arguments sont passés en tant que paramètres à la commande sans expansion shell. Si le premier argument est un tableau à deux éléments, le premier élément est la commande à exécuter, et le deuxième argument est utilisé comme valeur de argv[0], qui peut apparaître dans les listes de processus.

Remarque : Si vous voulez que sqlplus quitte et retourne à votre programme ruby après avoir exécuté le SQL, assurez-vous d'inclure une commande quit à la fin de votre fichier SQL.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X