我一直在使用MySQL作爲數據庫的Ruby Web應用程序。我從朋友那裏聽說mysql
寶石在存儲過程中效果不好,所以我決定使用mysql2
寶石和seqel
寶石。在Ruby中訪問MySQL存儲過程
我在MySQL中有一個名爲AddUser(Username, Password)
的存儲過程。它在MySQL中正常工作。我想出於安全原因使用寶石來訪問它。
sqeuel
doc here只能真正涵蓋如何訪問使用sequel
寶石製作的數據庫。我的代碼的第一稿看起來是這樣,但不實際運行過程
# Connect to the database
db = Sequel.mysql2(
:host => '127.0.0.1',
:database => database,
:username => username,
:password => password)
# Call the sproc
db["User"]
db.call_sproc(:insert, "AddUser", [name, pass])
的錯誤信息是:
Sequel::DatabaseError
Mysql2::Error: Query was empty
它應該是'prepare_sproc'和'call_sproc'嗎? –
謝謝,這似乎更正確。不過,我仍然遇到麻煩。 –