| Bug #17916 | MySQL 5 & MyODBC3.51.12 & D2005 Pro Pb Proc Stock | ||
|---|---|---|---|
| Submitted: | 4 Mar 2006 14:43 | Modified: | 23 Mar 2006 12:49 |
| Reporter: | Philippe LE MOULEC | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | Connector / ODBC | Severity: | S2 (Serious) |
| Version: | ODBC 3.51.12 & Server5.0.18 | OS: | Windows (Win XP SP2) |
| Assigned to: | CPU Architecture: | Any | |
[4 Mar 2006 16:30]
Valeriy Kravchuk
Thank you for a problem report. Looks like the real reason for it is described in 17898 already. Please, check.
[4 Mar 2006 16:31]
Valeriy Kravchuk
Bug #17898, I meant.
[4 Mar 2006 17:05]
Philippe LE MOULEC
Is it about my proc stock ?
DELIMITER $$
DROP PROCEDURE IF EXISTS `renjak`.`Pa_Get_UserList` $$
CREATE PROCEDURE `Pa_Get_UserList`(OUT nom Char(25), prenom char(25), prof_nom char(25) )
BEGIN
Select par_user.Nom,
par_user.prenom,
par_profile.Prof_Nom
from par_user, par_profile
Where par_user.id_par_profile = par_profile.id_par_profile;
END $$
DELIMITER ;
[4 Mar 2006 17:09]
Valeriy Kravchuk
It is about a real reson for the problem of calling procedures with OUT parameters using any Connector/X. I think, your report can be marked as duplicate of that http://bugs.mysql.com/bug.php?id=17898.
[4 Mar 2006 17:22]
Philippe LE MOULEC
Perhaps with core labs Delphi component But with this procedure
DELIMITER $$
DROP PROCEDURE IF EXISTS `renjak`.`Pa_Sup_Color` $$
CREATE PROCEDURE `Pa_Sup_Color`(
IN _ID_COLR INT
)
BEGIN
DELETE
FROM Par_Color
WHERE Id_Par_Color=_ID_COLR
;
END $$
DELIMITER ;
I got the same problem :
Generel SQL Error :
[MySQL][ODBC 3.51 Driver][mysqld-5.0.18-nt-max]you have an error in your SQL
syntax; check the manual that corresponds to your MySQL Server version for the
right syntax to use near '{ call `Pa_Sup_Color(1)`}' at line 1
[5 Mar 2006 7:12]
Valeriy Kravchuk
If you really use this in your code, call `Pa_Sup_Color(1)`, then it is obvious mistake. You may put names in backticks, but not parameter. Please, try to use: call `Pa_Sup_Color`(1). If this will not work, please, send a part of your code (procedure) where you use this SP call.
[5 Mar 2006 11:15]
Philippe LE MOULEC
OK, "call `Pa_Sup_Color(1)`" don't work and "call `Pa_Sup_Color`(1)" work very well. I use Tprocstoked Delphi component and it automatically do the string. I think then this is a Delphi Bug(?) in Tprocstoked component and Then i will post my bug report to Borland 'report bug'. I tried TADOData_Set and directly put my "call Pa_Sup_Color(1);" in it and it's work perfectly. You can close This bug report and thank you for your help.
[23 Mar 2006 12:49]
Valeriy Kravchuk
Looks like not a MySQL bug, according to the last comment.

Description: Hello, When i only used table acces Delphi was OK, but when i tried my access to proc stock i saw this error Generel SQL Error : [MySQL][ODBC 3.51 Driver][mysqld-5.0.18-nt-max]you have an error in your SQL syntax; check the manual that corresponds to your MySQL Server version for the right syntax to use near '{ call `Pa_Get_User`}' at line 1 BDE Error 13059 Server Error 1064 With Core lab components here is the error message : #42000OUT or INOUT argument 3 for routine Pa_Get_User is not a variable Ma proc stock is below : CREATE PROCEDURE `Pa_Get_User`( IN _ID_USR INT, _VALID_USR CHAR(1), OUT _NOM_USR VARCHAR(25), _PRENOM_USR VARCHAR(25), _CODE_USR VARCHAR(8), _ADRIP_USR VARCHAR(15), _DESC_USR VARCHAR(55), _COMM_USR VARCHAR(255), _REST_USR VARCHAR(5) ) NB : In Query Browser all is OK. filouxera How to repeat: I only use BDE database and procstock component in Delphi2005 Pro Suggested fix: I don't know