David
Shawn has already explained why this is happening. I have made a note to
make sure the next version of the connector checks the outbound size of the
packet against max packet size and throws a much more meaningful exception
rather than causing the server to close (and possibly rolling back your
transactions!)
Reggie
-----Original Message-----
From: David Travis [mailto:davidt@stripped]
Sent: Thursday, April 21, 2005 11:53 AM
To: dotnet@stripped
Subject: Error: "An existing connection was forcibly closed by the remote
host"
Hi All,
I am using latest connector (1.0.4), mysql version is 4.1.10a-nt. InnoDB,
UTF8.
When I try to insert into a blob field a binary stream of a file larger than
1 mega in a ASP.NET site I get the following error. I read in some places
that this is a bug in the database, but I wanted to make sure this is the
case.
The code is very simple, a MySqlParameter with blob type, which accepts the
posted file as a value and added to the parameterized query.
Thanks in advance,
David.
Here is the full error page:
Server Error in '/' Application.
_____
An existing connection was forcibly closed by the remote host
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information
about the error and where it originated in the code.
Exception Details: System.Net.Sockets.SocketException: An existing
connection was forcibly closed by the remote host
Source Error:
An unhandled exception was generated during the execution of the current web
request. Information regarding the origin and location of the exception can
be identified using the exception stack trace below.
Stack Trace:
[SocketException (0x2746): An existing connection was forcibly closed by the
remote host]
System.Net.Sockets.Socket.Send(Byte[] buffer, Int32 offset, Int32 size,
SocketFlags socketFlags) +421
System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32
size) +102
[IOException: Unable to write data to the transport connection.]
System.Net.Sockets.NetworkStream.Write(Byte[] buffer, Int32 offset, Int32
size) +150
System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count)
+248
MySql.Data.MySqlClient.PacketWriter.WriteChunk(Byte[] buf, Int32 offset,
Int32 length) +156
MySql.Data.MySqlClient.PacketWriter.Write(Byte[] buffer, Int32 offset,
Int32 count) +37
MySql.Data.MySqlClient.NativeDriver.ExecuteCommand(DBCmd cmd, Byte[]
bytes, Int32 length) +84
MySql.Data.MySqlClient.NativeDriver.SendQuery(Byte[] bytes, Int32 length,
Boolean consume) +82
MySql.Data.MySqlClient.MySqlCommand.GetNextResultSet(MySqlDataReader
reader) +320
MySql.Data.MySqlClient.MySqlCommand.Consume() +13
MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() +83
gesher.lib.db.QueryExecutor.executeUpdate(String query, MySqlParameter[]
params) +141
gesher.web.pages.modules.slides.editors._04324.handlePostedFile(HttpPostedFi
le theFile) +298
gesher.web.pages.modules.slides.editors._04324.btnUpdate_Click(Object
sender, ImageClickEventArgs e) +246
System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +109
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.Ra
isePostBackEvent(String eventArgument) +70
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1292
_____
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET
Version:1.1.4322.2032