/ 中存储网

MySQL connector升级时可能会遇到的问题

2014-07-13 16:32:30 来源:中存储网
此文章主要向大家讲述的是MySQL Connector升级时经常会引起的故障,以前在使用 Asp.NET + MySQL 来搭建系统平台,使用了 MySQL数据库网上 Connector 5.22 版,发现其中的 Membership 的实现上存在 Bug。
有时会抛出异常,引起网站服务停止,原因不明。
重新登录 MySQL官方网站,发现MySQL Connector 已经升级到 6.22 ,于是下载,升级系统,希望能够修复以上的 Bug。
结果大失所望,6.22 版竟然抛出了另一种异常,原来运行得挺好的系统,跑也跑不起来了。

用户代码未处理 System.FormatException
Message="GUID 应包含带 4 个短划线的 32 位数(xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)。"
Source="mscorlib"
StackTrace:
在 System.Guid..ctor(String g)
在 MySql.Data.Types.MySqlGuid.MySql.Data.Types.IMySqlValue.ReadValue(MySqlPacket packet, Int64 length, Boolean nullVal)
在 MySql.Data.MySqlClient.NativeDriver.ReadColumnValue(Int32 index, MySqlField field, IMySqlValue valObject)
在 MySql.Data.MySqlClient.ResultSet.get_Item(Int32 index)
在 MySql.Data.MySqlClient.MySqlDataReader.GetFieldValue(Int32 index, Boolean checkNull)
在 MySql.Data.MySqlClient.MySqlDataReader.GetValue(Int32 i)
在 MySql.Data.MySqlClient.MySqlDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.DataReaderContainer.CommonLanguageSubsetDataReader.GetValues(Object[] values)
在 System.Data.ProviderBase.SchemaMapping.LoadDataRow()
在 System.Data.Common.DataAdapter.FillLoadDataRow(SchemaMapping mapping)
在 System.Data.Common.DataAdapter.FillFromReader(DataSet dataset, DataTable datatable, String srcTable, DataReaderContainer dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue)
在 System.Data.Common.DataAdapter.Fill(DataTable[] dataTables, IDataReader dataReader, Int32 startRecord, Int32 maxRecords)
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
……
以上的相关内容就是对MySQL Connector升级引起的故障的介绍,望你能有所收获。