Ruby on rails 调用Rails 4中的存储过程

Ruby on rails 调用Rails 4中的存储过程,ruby-on-rails,Ruby On Rails,我正在调用一个返回多个结果的存储过程 在Rails 4中,找到的唯一解决方案是使用标志MULTI_语句启动一个新的Mysql2::Client。在我看来,打开与数据库服务器的新连接是不对的 options = Rails.application.config_for(:database).merge flags: Mysql2::Client::MULTI_STATEMENTS client = Mysql2::Client.new options results = client.query

我正在调用一个返回多个结果的存储过程

在Rails 4中,找到的唯一解决方案是使用标志MULTI_语句启动一个新的
Mysql2::Client
。在我看来,打开与数据库服务器的新连接是不对的

options = Rails.application.config_for(:database).merge flags: Mysql2::Client::MULTI_STATEMENTS
client = Mysql2::Client.new options
results = client.query %Q{CALL my_proc('#{params}')}
client.close

results

所以我的问题是:目前有更好的解决方案吗?

解决方案是使用
exec\u query
调用存储的进程,然后
清除活动连接如下所示:

results = ActiveRecord::Base.connection.exec_query %Q{CALL my_proc('#{params}')}
ActiveRecord::Base.clear_active_connections!

results

你试过这里的建议了吗?谢谢@SimoneCarletti,我在发布之前找不到您链接的anwser。