Unable To Retrieve Stored Procedure
DB MySQL em Host não permite stored procedure
Olá pessoal,
estou com um problemão.
Estou desenvolvendo um site. Ocorre que o banco de dados contém stored procedures que funcionaram bem no localhost, mas não no provedor. No localhost o user era o root@localhost e tinha todos os privilégios. No provedor uso um MySQL compartilhado, de modo que o usuário criado não tem todos privilégios. Estou há mais de mês tentando resolver, sem sucesso. O suporte do provedor não conseguiu ajudar. Só disse que era falha de programação. A procedure é:
DELIMITER $$
CREATE DEFINER=`rute`@`%` PROCEDURE `Autenticacao`(
IN pLOGIN VARCHAR(20),
IN pPASS VARCHAR(15),
OUT pSAID INT
)
BEGIN
SELECT COUNT(*) INTO pSAID
FROM mit.Usuario
WHERE Login = pLOGIN
AND Senha = pPASS;
END $$
sendo que a tabela usuario contém os valores corretos. Quando faço o login, é chamada a procedure `Autenticacao`, mas dá o erro abaixo:
Server Error in / Application.
ERRO Nro.:Unable to retrieve stored procedure metadata for routine . Either grant SELECT privilege to mysql.proc for this user or use use procedure bodies=false with your connection string.
Já pesquisei e fiz alterações na procedure e na connection string.
Alguém pode ajudar?
Agradeço antecipadamente.
Olá pessoal,
estou com um problemão.
Estou desenvolvendo um site. Ocorre que o banco de dados contém stored procedures que funcionaram bem no localhost, mas não no provedor. No localhost o user era o root@localhost e tinha todos os privilégios. No provedor uso um MySQL compartilhado, de modo que o usuário criado não tem todos privilégios. Estou há mais de mês tentando resolver, sem sucesso. O suporte do provedor não conseguiu ajudar. Só disse que era falha de programação. A procedure é:
DELIMITER $$
CREATE DEFINER=`rute`@`%` PROCEDURE `Autenticacao`(
IN pLOGIN VARCHAR(20),
IN pPASS VARCHAR(15),
OUT pSAID INT
)
BEGIN
SELECT COUNT(*) INTO pSAID
FROM mit.Usuario
WHERE Login = pLOGIN
AND Senha = pPASS;
END $$
sendo que a tabela usuario contém os valores corretos. Quando faço o login, é chamada a procedure `Autenticacao`, mas dá o erro abaixo:
Server Error in / Application.
ERRO Nro.:Unable to retrieve stored procedure metadata for routine . Either grant SELECT privilege to mysql.proc for this user or use use procedure bodies=false with your connection string.
Já pesquisei e fiz alterações na procedure e na connection string.
Alguém pode ajudar?
Agradeço antecipadamente.
José Basilio
Curtidas 0
Respostas
Diego.
29/01/2012
O usuário está com permissão de acesso a procedure?
GOSTEI 0