Bug #42110 GetSchema("Columns") throw an exception with MySQL 3.23.49-nt

Submitted: 14 Jan 2009 13:37 Modified: 4 Aug 2009 16:03
Reporter: Roger ARBOGAST Email Updates:
Status: Closed Impact on me:
None 
Category:Connector / NET Severity:S3 (Non-critical)
Version:5.2.5 OS:Windows (XP SP3)
Assigned to: Reggie Burnett CPU Architecture:Any
Tags: 3.23, GetSchema

[14 Jan 2009 13:37] Roger ARBOGAST
Description:
After opening a connexion on a MySQL 3.23.49-nt database, the command GetSchema("Columns") throw me this exception :

L'exception System.ArgumentException n'a pas été gérée
  Message="Le format de la chaîne d'entrée est incorrect.Impossible de stocker <Dynamic> dans la colonne VERSION. Type attendu est Int64."
  Source="System.Data"
  StackTrace:
       à System.Data.DataColumn.set_Item(Int32 record, Object value)
       à System.Data.DataRow.set_Item(DataColumn column, Object value)
       à System.Data.DataRow.set_Item(String columnName, Object value)
       à MySql.Data.MySqlClient.SchemaProvider.FindTables(DataTable schemaTable, String[] restrictions)
       à MySql.Data.MySqlClient.SchemaProvider.GetTables(String[] restrictions)
       à MySql.Data.MySqlClient.SchemaProvider.GetColumns(String[] restrictions)
       à MySql.Data.MySqlClient.SchemaProvider.GetSchemaInternal(String collection, String[] restrictions)
       à MySql.Data.MySqlClient.SchemaProvider.GetSchema(String collection, String[] restrictions)
       à MySql.Data.MySqlClient.MySqlConnection.GetSchema(String collectionName, String[] restrictionValues)
       à MySql.Data.MySqlClient.MySqlConnection.GetSchema(String collectionName)
       à VI_DBcompare.BaseDonnee.LireChamps() dans T:\Développement\Interne\VI-DBcompare\v0.1.0.0\BaseDonnee.cs:ligne 121
       à VI_DBcompare.FormComparer..ctor(BaseDonnee& base1, BaseDonnee& base2) dans T:\Développement\Interne\VI-DBcompare\v0.1.0.0\FormComparer.cs:ligne 29
       à VI_DBcompare.FormMain.btnComparer_Click(Object sender, EventArgs e) dans T:\Développement\Interne\VI-DBcompare\v0.1.0.0\FormMain.cs:ligne 47
       à System.Windows.Forms.Control.OnClick(EventArgs e)
       à System.Windows.Forms.Button.OnClick(EventArgs e)
       à System.Windows.Forms.Button.PerformClick()
       à System.Windows.Forms.Form.ProcessDialogKey(Keys keyData)
       à System.Windows.Forms.ContainerControl.ProcessDialogKey(Keys keyData)
       à System.Windows.Forms.TextBoxBase.ProcessDialogKey(Keys keyData)
       à System.Windows.Forms.Control.PreProcessMessage(Message& msg)
       à System.Windows.Forms.Control.PreProcessControlMessageInternal(Control target, Message& msg)
       à System.Windows.Forms.Application.ThreadContext.PreTranslateMessage(MSG& msg)
       à System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FPreTranslateMessage(MSG& msg)
       à System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32 dwComponentID, Int32 reason, Int32 pvLoopData)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
       à System.Windows.Forms.Application.Run(Form mainForm)
       à VI_DBcompare.Program.Main() dans T:\Développement\Interne\VI-DBcompare\v0.1.0.0\Program.cs:ligne 17
       à System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
       à System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args)
       à Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
       à System.Threading.ThreadHelper.ThreadStart_Context(Object state)
       à System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
       à System.Threading.ThreadHelper.ThreadStart()

How to repeat:
Create a MySqlConnection object to a v3.23.49-nt database and launch a GetSchema("Columns"); command
[14 Jan 2009 14:25] Tonci Grgin
Hi Roger and thanks for your report.

Please notice that MySQL server 3.23 is long eol-ed and was never, afair, supported by c/NET. Use Mysql server 4.1 or newer instead.
[14 Jan 2009 16:02] Roger ARBOGAST
Sorry, I wouldn't have bothered you guys if I knew this. I thought the version 3.23 was still supported because my Connector documentation says this :

"MySQL compatibility 
Connector/Net fully supports all GA versions of MySQL from 3.23 to 5.0. Connector/Net also supports the latest pre-release versions of MySQL 5.1 and 6.0. "

But now it's clear, it's OK. Thanks anyway.

PS : Someone should update the documentation ;)
[14 Jan 2009 16:19] Tonci Grgin
Roger, where did you find that quote? http://dev.mysql.com/doc/refman/5.1/en/connector-net-versions.html says:
      *

      Connector/NET 1.0 includes support for MySQL 4.0, and MySQL 5.0 features, and full compatibility with the ADO.NET driver interface.

      Connector/NET 5.0 includes support for MySQL 4.0, MySQL 4.1, MySQL 5.0 and MySQL 5.1 features. Connector/NET 5.0 also includes full support for the ADO.Net 2.0 interfaces and subclasses, includes support for the usage advisor and performance monitor (PerfMon) hooks.

      Connector/NET 5.1 includes support for MySQL 4.0, MySQL 5.0, MySQL 5.1 and MySQL 6.0 (Falcon Preview) features. Connector/NET 5.1 also includes support for a new membership/role provider, Compact Framework 2.0, a new stored procedure parser and improvements to GetSchema. Connector/NET 5.1 also includes the Visual Studio Plugin as a standard installable component.

I really doubt anyone is actually testing latest versions not only against 3.23 but against 4.0 too.
[14 Jan 2009 21:12] Roger ARBOGAST
I'm afraid I can't quote with an url like you did,

however, I can tell you how I found it.

I downloaded the package Connector/Net 5.2.5 (windows binaries) from http://dev.mysql.com/downloads/connector/net/5.2.html

After having installed the .msi in the archive, I have a file MySql.Data.chm in the Documentation folder of the installation which says the lines I've quoted in the "Compatibility" section.
[14 Jan 2009 21:17] Roger ARBOGAST
I also found the file "Documentation/Content/Compatibility.html" in the Sources archive at the same url.
[15 Jan 2009 7:50] Tonci Grgin
Roger, thanks for following up. I have assigned Tony to fix this in docs.

Thanks for your interest in MySQL!
[3 Aug 2009 10:03] Tony Bedford
It looks like the problem is in Reggie's source code/docs/CHM, not the doc team documentation XML source. Passing to Reggie for review.
[4 Aug 2009 14:23] Reggie Burnett
Fixed in 5.2.8, 6.0.5, and 6.1.1
[4 Aug 2009 16:03] Tony Bedford
Entries were added to the 5.2.8, 6.0.5 and 6.1.1 changelogs:

MySQL Connector/NET CHM documentation stated that MySQL Server 3.23 was supported.

Portions of this website are copyright © 2001, 2002 The PHP Group

Page generated in 0.063 sec. using MySQL 8.4.7-u6-cloud

Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.