Простая хранимая процедура в MySQL:Как вызвать хранимую процедуру MySQL из Rails?
CREATE PROCEDURE `proc01`()
BEGIN
SELECT * FROM users;
END
Запускает Рельсы консоли:
$ script/console
Loading development environment (Rails 2.3.5)
>> User.connection.execute("CALL proc01")
=> #<Mysql::Result:0x10343efa0>
Выглядит хорошо. НО, больше вызова же хранимая процедура с помощью существующего подключения приведет к команд из синхронизации ошибки:
>> User.connection.execute("CALL proc01")
ActiveRecord::StatementInvalid: Mysql::Error: Commands out of sync; you can't run this command now: CALL proc01
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract_adapter.rb:219:in `log'
from /Library/Ruby/Gems/1.8/gems/activerecord-2.3.5/lib/active_record/connection_adapters/mysql_adapter.rb:323:in `execute'
from (irb):2
Ошибка может быть очищена с помощью «перезагрузки!» команда в консоли:
>> reload!
Reloading...
=> true
>> User.connection.execute("CALL proc01")
=> #<Mysql::Result:0x1033f14d0>
>>
Как я могу вызвать хранимую процедуру MySQL из Rails?
я выкладываю некоторые последующую информацию по адресу: http://www.ruby-forum.com/topic/193977#899074 (из-за SO не поддерживает листинга кода в комментарии) Может» подключиться! if! active? "может быть исправлением.Не уверен, что это ответ на этот вопрос. – ohho
Резюме в моем веб-журнале: http://ho.race.hk/blog/?p=231 – ohho