有人知道如何在ruby中使用sqlplus吗?我需要这样做: system("sqlplus username/pwd@database filename.sql“
Thx /Niklas
发布于 2010-04-28 18:50:33
要让sqlplus从文件中读取其输入,您需要在文件名前加上一个@符号。因此,下面的方法将会起作用:
system("sqlplus", "username/pwd@database", "@filename.sql")可以使用单个参数(完整的命令)或多个参数(在上面的示例中将命令的参数分开)来调用system。documentation for Kernel#exec描述了不同之处(system的行为方式相同):
如果给
exec一个参数,该参数将作为一行在执行前进行外壳扩展。如果给定了多个参数,则第二个和后续参数将作为参数传递给命令,而不会展开shell。如果第一个参数是两个元素的数组,则第一个元素是要执行的命令,第二个参数用作argv[0]值,这可能会出现在进程清单中。
注意:如果你想让sqlplus在运行完SQL后退出并返回ruby程序,那么一定要在SQL文件的末尾包含一条quit语句。
https://stackoverflow.com/questions/2728169
复制相似问题