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