Bug #45502 | error if "Allow Batch=False" | ||
---|---|---|---|
Submitted: | 15 Jun 2009 14:05 | Modified: | 18 Jun 2009 8:59 |
Reporter: | Miguel K | Email Updates: | |
Status: | Closed | Impact on me: | |
Category: | Connector / NET | Severity: | S2 (Serious) |
Version: | 6.0.4 | OS: | Windows (Server 2008) |
Assigned to: | Reggie Burnett | CPU Architecture: | Any |
[15 Jun 2009 14:05]
Miguel K
[16 Jun 2009 9:02]
Tonci Grgin
Hi Miguel and thanks for your report. Verified as described using latest SVN sources from trunk. Exception is thrown in command.cs, Ln:440. 5.2 branch is not affected by this problem. Test case: MySqlConnection c = new MySqlConnection(); c.ConnectionString = "DataSource=***;Database=test;UserID=***;Password=***;PORT=***;logging=True;Allow Batch=False"; c.Open(); MySqlCommand cmd = c.CreateCommand(); cmd.CommandText = "SELECT version();"; try { MySqlDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection); while (dr.Read()) { Console.WriteLine(dr.GetDataTypeName(0)); Console.WriteLine(dr.GetFieldType(0)); Console.WriteLine(dr.GetValue(0).GetType().FullName); Console.WriteLine(dr.GetString(0)); } dr.Close(); cmd.Dispose(); if (c.State == ConnectionState.Closed) { Console.WriteLine("Conn closed"); } else { c.Close(); } } catch (Exception ex) { Console.Out.WriteLine(DateTime.UtcNow.ToLongTimeString() + " " + "Exception: " + ex.Message); throw; } "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 'SET character_set_results=NULL' at line 1"
[16 Jun 2009 16:25]
Bugs System
A patch for this bug has been committed. After review, it may be pushed to the relevant source trees for release in the next version. You can access the patch from: http://lists.mysql.com/commits/76407
[16 Jun 2009 19:50]
Reggie Burnett
fixed in 6.0.5
[18 Jun 2009 8:59]
Tony Bedford
An entry was added to the 6.0.5 changelog: Adding the Allow Batch=False option to the connection string caused Connector/NET to generate the error: 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 'SET character_set_results=NULL' at line 1