2012-02-29 3 views
0

레일 (3.2.1, mysql2) 응용 프로그램에서 프로 시저의 결과를 호출하고 표시하려고합니다. Google에서 diff 방식을 시도했지만 문제가 없습니다. 아직 여기 같은 내가 절차 아래프로시 저는 지정된 컨텍스트에서 결과 집합을 반환 할 수 없습니다.

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

에게 전화를 사용하고 코드 snipet는

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/[email protected]/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' 
+0

내 포크를 사용할 수 있습니다. 적절한 태그를 추가하고 mysql 전문가가 대답 할 수 있도록 프로 시저 코드를 제공해야합니다. – Ineu

답변

1

이 레일로 잘 알려진 문제이며,이 blog post 볼이 코드를 실행에 얻을 오류입니다 상세 사항은.

개인적으로 다음 응용 프로그램의 코드는 gist입니다. 당신이 당신의 레일 코드에서 여러 결과 집합을 사용하려면

, 당신은 내가 그것을 레일보다는 MySQL의에 대한 더 믿는 mysql2 gem

+0

예, 저를 도왔습니다. Rails 최신 버전에는 기본적으로이 옵션이 있어야합니다. 레일스 팀이 프로 시저 사용을 피하려고하는 이유를 모르십니까? 그것은 레일 방식이 아닐 수도 있지만, 절차는 많은 경우에 생명의 은인입니다. 어쨌든 시간과 도움에 감사드립니다. –

+0

레일 철학은 데이터베이스에 무신론자라고 생각합니다. 저장 프로 시저가 어디에서나 사용할 수 없기 때문에 레일스에서 ​​지원할 필요가 없습니다. – Wolfgang

+0

감각을 만듭니다. :) –

관련 문제