UniDAC 6.3.11
При попытке выполнить хранимую процедуру MySQL возникает
Assertion failure MyClassesUni.pas, line 2884
Причина - у текущего пользователя нет прав на просмотр тела процедуры с помощью 'show create procedure'. Из документации к MySQL:
"To use either statement, you must be the user named in the routine DEFINER clause or have SELECT access to the mysql.proc table. If you do not have privileges for the routine itself, the value displayed for the Create Procedure or Create Function field will be NULL."
Соответственно, в методе GetCreateSQL при выполнении 'show create procedure' в колонке 'create procedure' возвращается null, а так как данный случай не был предусмотрен, выполнение валится на assert().
Также получение тела SP для приведения параметров - это накладные расходы. В случае с физически удаленным сервером это увеличивает время выполнения SP в два раза.
Я не нашел документированного способа отключить проверку параметров SP или функции.
Уважаемые разработчики, могли бы вы сделать эту "фичу" опциональной?
Assertion failure при Execute Procedure в MySQL
Re: Assertion failure при Execute Procedure в MySQL
К сожалению, мы не смогли воспроизвести Assert ошибку при попытке выполнить хранимую процедуру пользователем, который не обладает правом на просмотр тела процедуры. Пожалуйста, составьте и вышлите нам небольшой пример демонстрирующий проблему на viktorv*devart*com, включающий скрипты для создания объектов БД.
На данный момент UniDAC не поддерживает возможность отключить проверку параметров хранимой процедуры. Если Вы хотите, чтобы мы добавили данную поддержку, пожалуйста, напишите об этом на нашем User Voice форуме: https://devart.uservoice.com/forums/104 ... 939-unidac. Чем больше голосов наберет Ваше предложение, тем быстрее мы рассмотрим возможность ее реализации.
На данный момент UniDAC не поддерживает возможность отключить проверку параметров хранимой процедуры. Если Вы хотите, чтобы мы добавили данную поддержку, пожалуйста, напишите об этом на нашем User Voice форуме: https://devart.uservoice.com/forums/104 ... 939-unidac. Чем больше голосов наберет Ваше предложение, тем быстрее мы рассмотрим возможность ее реализации.