3
我试图执行oracle存储过程从导航控制台。使用下面的代码Rails执行存储过程
ActiveRecord::Base.connection.execute("execute change_name('shanison', 'shanison_test');
而且不断收到以下错误
ActiveRecord::StatementInvalid: OCIError: ORA-00900: invalid SQL statement: execute si.change_name('shanison', 'shanison_test');
我试图直接在的Oracle SQL Developer运行查询和它工作得很好,这意味着我的存储过程罚款。
execute change_name('shanison', 'shanison_test');
我确实将数据库用户的执行权限授予了我正在使用的导轨。我试图在Rails 2和3下运行,两者都不起作用,并显示相同的错误消息。
找到这个调用vs exec http://www.orafaq.com/forum/t/81939/2/。看起来,exec只能用于SQLPlus。因此,如果您不是从SQL Plus调用,那么它不是真正的有效SQL。 – Shanison