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
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
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 deargv[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 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.