PROCEDURE не может вернуть набор результатов в данном контексте - PullRequest
0 голосов
/ 29 февраля 2012

В приложении rails (3.2.1, mysql2) я хочу вызвать и показать результаты процедуры, которую я пробовал в Google и пробовал разные способы, но, к счастью, проблема не изменилась, вот фрагмент кода, который я использую для вызовапроцедура

ActiveRecord::Base.connection.execute("call sp_name(1,10)")

ниже - ошибка, которую я получаю при выполнении этого кода

Mysql2::Error: PROCEDURE sp_name can't return a result set in the given      
context: call sp_name(1, 10)
ActiveRecord::StatementInvalid: Mysql2::Error: PROCEDURE sp_name can't    
return a result set in the given context: call user_childs(1, 10)
from /home/ankit/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-  
3.2.1/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:233:in `query'
from /home/ankit/.rvm/gems/ruby-1.9.2-p290@sharetok/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:233:in `block in execute'
from /home/ankit/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log'
from /home/ankit/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.2.1/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
from /home/ankit/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log'
from /home/ankit/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.1/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:233:in `execute'
from /home/ankit/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.2.1/lib/active_record/connection_adapters/mysql2_adapter.rb:214:in `execute'

1 Ответ

1 голос
/ 29 февраля 2012

Это хорошо известная проблема с Rails, подробности смотрите в этом блоге .

Я лично использую код из gist в некоторых своих приложениях.

Если вы хотите использовать несколько наборов результатов в своем коде rails, вы можете использовать мой форк mysql2 gem

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...