我正在调用一个返回多个结果的存储过程。
在Rails 4中,找到的唯一解决方案是使用标志Mysql2::Client启动一个新的MULTI_STATEMENTS。在我看来,打开到数据库服务器的新连接是不对的。
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所以我的问题是:到目前为止有没有更好的解决方案?
发布于 2015-09-16 03:43:15
解决方案是使用exec_query调用存储的proc,然后像这样调用clear_active_connections!:
results = ActiveRecord::Base.connection.exec_query %Q{CALL my_proc('#{params}')}
ActiveRecord::Base.clear_active_connections!
resultshttps://stackoverflow.com/questions/32547620
复制相似问题