Passing parameters to TUniStoredProc without SELECT privilege
Hello.
I have MySQL database with some of the stored procedures for accessing data in it. The only global privilege enabled is EXECUTE, others are disabled.
I'm trying to call a stored procedure in MySQL database with the help of TUniStoredProc using the following code:
- UniProc.StoredProcName:='GetData';
With UniProc.Params.AddParameter Do
Begin
ParamType:=ptInputOutput;
DataType:=ftWideString;
Name:='SomeParameter';
Value:='SomeValue';
End; - UniProc.SQL.Text:='SET @SomeParameter = :SomeParameter; CALL GetData(@SomeParameter); SELECT @SomeParameter AS ''@SomeParameter''';
UniProc.Execute;
If there are EXECUTE and SELECT privileges set in the database global privileges, everything works good. But if only EXECUTE privilege is enabled, an error occurs while executing the query: "#42000Incorrect number of arguments for PROCEDURE db.GetData; expected 1, got 0". So, the question is how to correctly pass the parameters to the stored procedure without SELECT privilege enabled?