Mysql连接器 - MultipleActiveResultSets问题

Ren*_*Ren 3 c# mysql connector connect

首先,我花了几个小时寻找修复 - 也许我只需要另外一双眼睛来解决这个问题.

我正在为自己编写ac#应用程序(个人使用).我从mysql.com运行最新的MySQL连接器库

我的连接字符串是

public string SQLConnection = "Server=localhost;Database=data;Uid=root;Pwd=ascent;charset=utf8;MultipleActiveResultSets=True;";
Run Code Online (Sandbox Code Playgroud)

我的问题是关于MultipleActiveResultSets=True;.当它包含在我的SQLConnection字符串中时,MySQL库无法连接.查看下面的图片以查看我的发现

http://i62.tinypic.com/25a57p1.png 完整图片:http://i62.tinypic.com/25a57p1.png

何时MultipleActiveResultSets=True;从连接字符串中删除,我得到了这个结果

http://i58.tinypic.com/2useaom.png 完整图片:http://i58.tinypic.com/2useaom.png

我获得了成功的联系.

原因MultipleActiveResultSets是因为我同时使用2 MySqlDataReader- 但是这不能改变.

如果有人知道为什么会失败,那么请建议您的修复.

我的本地MySQL服务器版本:5.6.17

Pri*_*tam 11

我假设MySql连接器不支持MARS(多个活动结果集).在这种情况下,您不能同时在多个地方使用它.

  • 我刚刚花了最后一周才知道MySQL线程协议,我可以确认这是正确的; MySQL无法支持多个活动结果集.您需要将数据缓冲到列表中,然后执行另一个查询或打开第二个连接. (3认同)

Ren*_*Ren 2

问题没有解决,但我找到了解决方法。

MultipleActiveResultSets=True;从连接字符串中删除了。然后,我创建了一个列表,在其中保存了来自 MySqlDataReader 的数据,然后关闭了读取器并重新打开了一个新的读取器,然后我从数据库中获取了其余数据。然后简单地将结果合并到列表中。

所以是的,临时修复。

如果有人知道正确的修复方法,请发表评论,否则我将使用我的临时修复方法。

多谢你们。