多线程的时候 为什么会这样 直接连mysql 也是一样的
for (int i = 0; i <1000 ; i++) { // ThreadStart threadStart = new ThreadStart(dddd); Thread thread = new Thread(new System.Threading.ParameterizedThreadStart(dddd)); thread.Start(i); Console.WriteLine(i); } using (MyCatConnection conn = new MyCatConnection("server=localhost;port=3306;database=db1;uid=root;pwd=;CharSet=utf8;pooling=true;Allow User Variables=True")) { //conn("INSERT INTO `test` (`name`) VALUES ( '" + System.DateTime.Now.ToString() + "')"); conn.Open(); var cmd = new MyCatCommand("INSERT INTO `test` (`name`) VALUES ( '" + System.DateTime.Now.ToString() + "')", conn); cmd.ExecuteNonQuery(); }
2017/7/12 9:21:52System.NullReferenceException: 未将对象引用设置到对象的实例。
在 Pomelo.Data.MyCat.NativeDriver.GetResult(Int64& affectedRow, Int64& insertedId)
在 Pomelo.Data.MyCat.Driver.GetResult(Int32 statementId, Int64& affectedRows, Int64& insertedId)
在 Pomelo.Data.MyCat.Driver.NextResult(Int32 statementId, Boolean force)
在 Pomelo.Data.MyCat.MyCatDataReader.NextResult()
在 Pomelo.Data.MyCat.MyCatDataReader.Close()
在 Pomelo.Data.MyCat.MyCatDataReader.Dispose()
在 Pomelo.Data.MyCat.Driver.Dispose(Boolean disposing)
在 Pomelo.Data.MyCat.Driver.Close()
在 Pomelo.Data.MyCat.MyCatConnection.CloseFully()
在 Pomelo.Data.MyCat.MyCatConnection.Close()
在 Pomelo.Data.MyCat.MyCatConnection.Dispose(Boolean disposing)
在 Pomelo.Data.MyCat.MyCatConnection.Dispose()
在 ConsoleApp1.Program.dddd(Object arg) 位置 C:\Users\admin\Desktop\MyCATConnector-master\ConsoleApp1\Program.cs:行号 61
2017/7/12 9:21:52Pomelo.Data.MyCat.MyCatException (0x80004005): Fatal error encountered during command execution. ---> Pomelo.Data.MyCat.MyCatException (0x80004005): Fatal error encountered attempting to read the resultset. ---> Pomelo.Data.MyCat.MyCatException (0x80004005): Reading from the stream has failed. ---> System.IO.IOException: 无法从传输连接中读取数据: 一个封锁操作被对 WSACancelBlockingCall 的调用中断。。 ---> System.Net.Sockets.SocketException: 一个封锁操作被对 WSACancelBlockingCall 的调用中断。
在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- 内部异常堆栈跟踪的结尾 ---
在 Pomelo.Data.Common.MyNetworkStream.HandleOrRethrowException(Exception e)
在 Pomelo.Data.Common.MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 Pomelo.Data.MyCat.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 Pomelo.Data.Common.BufferedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 Pomelo.Data.MyCat.MyCatStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
在 Pomelo.Data.MyCat.MyCatStream.LoadPacket()
在 Pomelo.Data.MyCat.MyCatStream.LoadPacket()
在 Pomelo.Data.MyCat.MyCatStream.ReadPacket()
在 Pomelo.Data.MyCat.NativeDriver.GetResult(Int64& affectedRow, Int64& insertedId)
在 Pomelo.Data.MyCat.Driver.GetResult(Int32 statementId, Int64& affectedRows, Int64& insertedId)
在 Pomelo.Data.MyCat.Driver.NextResult(Int32 statementId, Boolean force)
在 Pomelo.Data.MyCat.MyCatDataReader.NextResult()
在 Pomelo.Data.MyCat.MyCatDataReader.NextResult()
在 Pomelo.Data.MyCat.MyCatCommand.ExecuteReader(CommandBehavior behavior)
在 Pomelo.Data.MyCat.MyCatCommand.ExecuteReader(CommandBehavior behavior)
在 Pomelo.Data.MyCat.MyCatCommand.ExecuteNonQuery()
在 ConsoleApp1.Program.dddd(Object arg) 位置 C:\Users\admin\Desktop\MyCATConnector-master\ConsoleApp1\Program.cs:行号 59
2017/7/12 9:21:52System.NullReferenceException: 未将对象引用设置到对象的实例。
在 Pomelo.Data.MyCat.NativeDriver.GetResult(Int64& affectedRow, Int64& insertedId)
在 Pomelo.Data.MyCat.Driver.GetResult(Int32 statementId, Int64& affectedRows, Int64& insertedId)
在 Pomelo.Data.MyCat.Driver.NextResult(Int32 statementId, Boolean force)
在 Pomelo.Data.MyCat.MyCatDataReader.NextResult()
在 Pomelo.Data.MyCat.MyCatDataReader.Close()
在 Pomelo.Data.MyCat.MyCatDataReader.Dispose()
在 Pomelo.Data.MyCat.Driver.Dispose(Boolean disposing)
在 Pomelo.Data.MyCat.Driver.Close()
在 Pomelo.Data.MyCat.MyCatConnection.CloseFully()
在 Pomelo.Data.MyCat.MyCatConnection.Close()
在 Pomelo.Data.MyCat.MyCatConnection.Dispose(Boolean disposing)
在 Pomelo.Data.MyCat.MyCatConnection.Dispose()
在 ConsoleApp1.Program.dddd(Object arg) 位置 C:\Users\admin\Desktop\MyCATConnector-master\ConsoleApp1\Program.cs:行号 61
2017/7/12 9:21:52Pomelo.Data.MyCat.MyCatException (0x80004005): Fatal error encountered during command execution. ---> Pomelo.Data.MyCat.MyCatException (0x80004005): Fatal error encountered attempting to read the resultset. ---> Pomelo.Data.MyCat.MyCatException (0x80004005): Reading from the stream has failed. ---> System.IO.IOException: 无法从传输连接中读取数据: 一个封锁操作被对 WSACancelBlockingCall 的调用中断。。 ---> System.Net.Sockets.SocketException: 一个封锁操作被对 WSACancelBlockingCall 的调用中断。
在 System.Net.Sockets.Socket.Receive(Byte[] buffer, Int32 offset, Int32 size, SocketFlags socketFlags)
在 System.Net.Sockets.NetworkStream.Read(Byte[] buffer, Int32 offset, Int32 size)
--- 内部异常堆栈跟踪的结尾 ---
在 Pomelo.Data.Common.MyNetworkStream.HandleOrRethrowException(Exception e)
在 Pomelo.Data.Common.MyNetworkStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 Pomelo.Data.MyCat.TimedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 Pomelo.Data.Common.BufferedStream.Read(Byte[] buffer, Int32 offset, Int32 count)
在 Pomelo.Data.MyCat.MyCatStream.ReadFully(Stream stream, Byte[] buffer, Int32 offset, Int32 count)
在 Pomelo.Data.MyCat.MyCatStream.LoadPacket()
在 Pomelo.Data.MyCat.MyCatStream.LoadPacket()
在 Pomelo.Data.MyCat.MyCatStream.ReadPacket()
在 Pomelo.Data.MyCat.NativeDriver.GetResult(Int64& affectedRow, Int64& insertedId)
在 Pomelo.Data.MyCat.Driver.GetResult(Int32 statementId, Int64& affectedRows, Int64& insertedId)
在 Pomelo.Data.MyCat.Driver.NextResult(Int32 statementId, Boolean force)
在 Pomelo.Data.MyCat.MyCatDataReader.NextResult()
在 Pomelo.Data.MyCat.MyCatDataReader.NextResult()
在 Pomelo.Data.MyCat.MyCatCommand.ExecuteReader(CommandBehavior behavior)
在 Pomelo.Data.MyCat.MyCatCommand.ExecuteReader(CommandBehavior behavior)
在 Pomelo.Data.MyCat.MyCatCommand.ExecuteNonQuery()
在 ConsoleApp1.Program.dddd(Object arg) 位置 C:\Users\admin\Desktop\MyCATConnector-master\ConsoleApp1\Program.cs:行号 59
Pomelo.Data.MyCat 用这个连接mycat 单线程没问题 但是多线程 就时常报这个错
我也是刚接触MyCat!MyCat连接端口不是8066吗?
MyCat 不适合 我们的项目 后面没用了