【发布时间】:2018-01-16 23:36:31
【问题描述】:
注意事项:使用 Ruby 2.4、oci8/oracle 增强适配器。
我使用 sqlplus 来执行我拥有的一些 DDL / DML。基本上是这样的:
system "echo / | sqlplus #{db.username}/\"#{db.password}\"@#{db.host}:#{db.port}/#{db.sid} @\"#{file_to_execute}\" > #{@SQLOUT_LOG}"
我想放弃使用 sqlplus 并改用活动记录。所以我得到了这个工作:
ActiveRecord::Base.connection.execute(IO.read("#{file_path}"))
这基本上做同样的事情,除了:我无法访问从 SQLplus(甚至 SQLDeveloper)获得的“脚本输出”。这个“执行”函数返回表行,我通常不关心或不需要。
我只想要脚本运行后输出结果的字符串。示例:
过程MYPROCEDURE编译
已插入 3 行。
等等……
【问题讨论】:
标签: ruby oracle activerecord sqlplus oracle-call-interface