| Bug #55257 | Named parameters order has sense | ||
|---|---|---|---|
| Submitted: | 14 Jul 2010 12:27 | Modified: | 16 Jul 2010 7:39 |
| Reporter: | Denis Palnitsky | Email Updates: | |
| Status: | Not a Bug | Impact on me: | |
| Category: | Connector / NET | Severity: | S2 (Serious) |
| Version: | 6.2.3.0 | OS: | Any |
| Assigned to: | CPU Architecture: | Any | |
| Tags: | parameters user | ||
[15 Jul 2010 20:04]
Reggie Burnett
I don't believe this is a bug. I believe your test user doesn't have the privs to see the body of the proc. Please login to MySQL using the commandline client and the test user account. Do a "show create procedure" on your proc. If the body is null you need to use the "use function bodies=false" option and pass in the parameters in the right order. If the If
[16 Jul 2010 7:39]
Denis Palnitsky
You right, but I think that this is strange behavior.

Description: If you call stored procedure with named parameters order has sense only if you call it not under root db account. How to repeat: Create test user with all privileges. Procedure code: CREATE PROCEDURE `test`.`TestProc` ( in myText varchar (5), in myText2 varchar (100) ) BEGIN END C# code: MySqlConnection connection = new MySqlConnection("SERVER = localhost; DATABASE = test; UID = testUser; PASSWORD = 1;"); connection.Open(); MySqlCommand command = connection.CreateCommand(); command.CommandText = "testProc"; command.CommandType = System.Data.CommandType.StoredProcedure; command.Parameters.AddWithValue("myText2", "aaaaaaaaaaaaaaaaa"); command.Parameters.AddWithValue("myText", "bbbb"); command.ExecuteNonQuery(); This code throws "Data too long exception" when you use testUser and works fine with root.