6.3.1版mysql.data.dll的一个Bug
2012-07-30 17:05
429 查看
今天测出了mysql.data.dll 版本6.3.1的bug。text类型的数据,长度超过一定长度时,逻辑上的错误,造成MySql.Data.MySqlClient.MySqlPacket.ReadString(Int64 length)中的length变量保持为初值-1,再调System.IO.MemoryStream.Read(Byte[] buffer, Int32 offset, Int32 count)时count为-1出错。
经测试,最新的6.5.4修复了这个Bug。
bug如下。
[类型] ArgumentOutOfRangeException
[Message] 要求非负数。
参数名: count
[StackTrace]
在 System.IO.MemoryStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 MySql.Data.MySqlClient.MySqlPacket.ReadString(Int64 length)
在 MySql.Data.Types.MySqlString.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(DataSet dataSet, String srcTable, 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(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
经测试,最新的6.5.4修复了这个Bug。
bug如下。
[类型] ArgumentOutOfRangeException
[Message] 要求非负数。
参数名: count
[StackTrace]
在 System.IO.MemoryStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 MySql.Data.MySqlClient.MySqlPacket.ReadString(Int64 length)
在 MySql.Data.Types.MySqlString.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(DataSet dataSet, String srcTable, 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(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
相关文章推荐
- 关于MySQL count(distinct) 逻辑的一个bug【转】
- .NET 使用 MySql.Data.dll 动态库操作MySql的帮助类--MySqlHelper
- 一个MySQL-JDBC驱动bug引起的血案……
- 同一个dll被多个进程使用的数据共享(Data_seg)
- MySQL创建过程,遇到一个奇怪的bug
- VB.net 连接 MySql,Use MySql.Data.dll
- ASP.net连接mysql数据库(使用MySql.Data.dll)
- 一个MySQL-JDBC驱动bug引起的血案……
- c#操作MySql.Data.DLL 分类: .NET 2013-03-08 15:49 4177人阅读 评论(2) 收藏
- mysql的一个日常用法的BUG
- 3、SqlContext读取mysql数据,产生一个Dataframe
- MySQL关于exists的一个bug
- c#操作MySql.Data.DLL
- 写MYSQL存储过程遇到的一个小BUG
- 关于long_query_time的设置,可不可以说是mysql的一个小小bug呢
- 【经典BUG】exe与dll同时使用Lua的一个内存崩溃异常
- curl的一个小bug,failed creating formpost data
- 探索MySql.Data.dll
- mysql 5.1.67-log主从复制的一个bug
- 未能加载文件或程序集“MySql.Data, Version=6.9.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d”或它的某一个依赖项。