Когда я пытаюсь вызвать определенные пользователем функции с помощью удаленного подключения, это дает мне ошибку.Вызов функций MySql удаленно завершается
Дело в том, что запрос без каких-либо функций отлично работает для удаленного подключения.
Так как я могу вызвать функции удаленно.
Запрос: select jobcardid,sonno,sonnumber,getSalesOrderCountByStatus('completed',1)as finished,getSalesOrderCountByStatus('pending',sonnumber)as inprocess,getSalesOrderCountByStatus('',1)as total from tblm_jobcard where sonnumber like 'A121';
Функция:
CREATE [email protected] FUNCTION getSalesOrderCountByStatus(v_status varchar(12), v_salesorderid integer) RETURNS int(11)
READS SQL DATA
BEGIN
DECLARE cnt integer(10);
if(length(v_status)>0) then
select count(1) into cnt from tblm_jobcard where sonno = v_salesorderid and status = v_status;
else
select count(1) into cnt from tblm_jobcard where sonno = v_salesorderid ;
end if;
RETURN cnt;
На удаленном соединении ничего не получать просто вешает трубку.
Это очень трудно помочь, если вы не говорите нам, что ошибки вы получаете и дать нам более подробную информацию о том, что вы делаете. –
Таким образом, либо ваша функция глючит, либо вы пытаетесь вызвать хранимую процедуру, а не функцию с помощью select. Покажите код, покажите точную ошибку. – nos
Использует ли пользователь, с которым вы подключаетесь, с привилегией 'EXECUTE'? – Hammerite