加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 数据库 > MySql > 正文

从rails中的mysql存储过程中获取多个结果集

发布时间:2020-05-22 21:08:52 所属栏目:MySql 来源:互联网
导读:我一直在寻找这方面的提示,到目前为止还没有真正的运气.使用mysql2 gem,尝试执行返回多个结果集的存储过程使我无法返回此上下文错误中的结果.我发现有人建议使用mysql gem(我无法找到两者之间有什么不同以及切换时可能遇到的内容的解释),并且我已经有了更多的

我一直在寻找这方面的提示,到目前为止还没有真正的运气.使用mysql2 gem,尝试执行返回多个结果集的存储过程使我无法返回此上下文错误中的结果.我发现有人建议使用mysql gem(我无法找到两者之间有什么不同以及切换时可能遇到的内容的解释),并且我已经有了更多的进展.

这是我到目前为止所拥有的:

>> db = ActiveRecord::Base.connection.raw_connection
=> #

有没有人知道如何使用mysql2或mysql宝石来实现这一点?该应用程序正在运行rails 3.0.1. 最佳答案 好吧我还没弄明白如何让AR这样做所以我最终只是进入低级并使用mysql驱动程序本身,这主要是工作…

data = Array.new
db = ActiveRecord::Base.connection.raw_connection
header = db.query("CALL #{self.proc}(#{args});")
header.each {|r| data << r}
if db.next_result
  rows = db.store_result
  rows.each {|r| data << r}
end

ActiveRecord::Base.connection.reconnect!

它有效,但我无法想象没有更好的方法.此外,我必须在此之后重新连接,或者我在下一个查询中收到错误,并且我还没有找到正确关闭会话的方法.哦,我必须使用mysql gem而不是mysql2.

Grrrrr.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读