Mysql connector - MultipleActiveResultSets issue

2019-01-26 20:09发布

First off, I have spent hours looking for a fix - maybe I just need another pair of eyes on this problem.

I'm currently coding a c# application for myself(Personal use). Im running the latest MySQL connector library from mysql.com

My connection string is

public string SQLConnection = "Server=localhost;Database=data;Uid=root;Pwd=ascent;charset=utf8;MultipleActiveResultSets=True;";

My issue is regarding MultipleActiveResultSets=True; . When this is included in my SQLConnection string the MySQL library is unable to connect. View the pic below to view my findings

http://i62.tinypic.com/25a57p1.png full image: http://i62.tinypic.com/25a57p1.png

When MultipleActiveResultSets=True; is removed from the connection string, I get this result

http://i58.tinypic.com/2useaom.png full image: http://i58.tinypic.com/2useaom.png

I get a successful connection.

The reason for MultipleActiveResultSets is because I'm using 2 MySqlDataReader at the same time - This however can't be changed.

If anyone knows why this is failing, then please suggest your fix.

My local MySQL server version: 5.6.17

3条回答
再贱就再见
2楼-- · 2019-01-26 20:20

One more option which can cause a little performance hit but can be used as quick fix is to open one more connection to the database for the second reader and close it when you are done.

查看更多
再贱就再见
3楼-- · 2019-01-26 20:32

I assume MySql connector doesn't support MARS (Multiple active result sets). In such case you cannot use it at more than one place at the same time.

查看更多
Rolldiameter
4楼-- · 2019-01-26 20:42

The problem is not solved but I have found a work around.

I removed MultipleActiveResultSets=True; from the connection string. I then created a list where I saved the data from MySqlDataReader, I then closed the reader and reopen a new one which then I got the rest of the data from the database. Then simply merged the results together in the list.

So yeah, a temp fix.

If someone knows the proper fix then please comment, otherwise I will be using my temp fix.

Thanks guys.

查看更多
登录 后发表回答