Título: Excepcion de anticipacion de E/S al acceder a MySQL desde .NET Publicado por: mmob en 27 Febrero 2008, 10:53 am Hola a todos, a ver si a alguien le suena esta excepción que genera mi programa. La aplicación esta creada en C# 2005 y se accede a una base de datos MySQL utilizando el conector ADO.NET driver for MySQL versión 5.1.4.0
Normalmente funciona de forma correcta, pero de vez en cuando, sin hacer nada especial y al intentar cualquier operación sobre la base de datos genera una excepción con el siguiente mensaje: Se detectó una posible condición de anticipación de E/S al copiar la memoria. El paquete de E/S no es seguro para subprocesos de forma predeterminada. En las aplicaciones multiproceso se debe tener acceso a la secuencia de forma segura para los subprocesos, como un contenedor seguro para subprocesos devuelto por los métodos sincronizados de TextReader o TextWriter. Esto también se aplica a clases como StreamWriter y StreamReader. Si le pido el nombre del objeto o aplicación que generó el error me dice que: mscorlib Y el StackTrace de una de estas excepciones (este en concreto al intentar un UPDATE sobre una tabla) es el siguiente: en System.Buffer.InternalBlockCopy(Array src, Int32 srcOffset, Array dst, Int32 dstOffset, Int32 count) en System.IO.BufferedStream.Read(Byte[] array, Int32 offset, Int32 count) en MySql.Data.MySqlClient.MySqlStream.Read(Byte[] buffer, Int32 offset, Int32 count) en MySql.Data.MySqlClient.MySqlStream.ReadByte() en MySql.Data.MySqlClient.MySqlStream.SkipBytes(Int32 len) en MySql.Data.MySqlClient.MySqlStream.OpenPacket() en MySql.Data.MySqlClient.NativeDriver.ReadResult(UInt64& affectedRows, Int64& lastInsertId) en MySql.Data.MySqlClient.MySqlDataReader.GetResultSet() en MySql.Data.MySqlClient.MySqlDataReader.NextResult() en MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) en MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() en MySql.Data.MySqlClient.MySqlConnection.BeginTransaction(IsolationLevel iso) en Gestion.Source.ModeloBD.ActualizarRegistro(Registro registro) C:\Proyectos\My SQL\Gestion\Gestion\Source\ModeloBD.cs:línea 458 Además, al no ocurrir siempre es mas difícil arreglarlo. Gracias por vuestro tiempo. Saludos Título: Re: Excepcion de anticipacion de E/S al acceder a MySQL desde .NET Publicado por: abel_c_b en 27 Febrero 2008, 20:38 pm Estas utilizando hebras? si asi es pues revisa esta parte del codigo ya que po lo que leo "El paquete de E/S no es seguro para subprocesos de forma predeterminada. En las aplicaciones multiproceso se debe tener acceso a la secuencia de forma segura para los subprocesos, como un contenedor seguro para subprocesos devuelto por los métodos sincronizados de TextReader o TextWriter", es donde presenta problemas
saludos Título: Re: Excepcion de anticipacion de E/S al acceder a MySQL desde .NET Publicado por: alexelprogramador en 29 Marzo 2008, 22:40 pm mira, yo tambien uso mysqlconnector.net porque me interesa, y tambien he tenido problemillas, pero mas que por culpa de usar mysql, por usar visual studio ;D ya que tambien peta cuando le da la gana.
dime si estas haciendo un programa con asp.net si es asi, revisa la configuracion del global.asax Título: Re: Excepcion de anticipacion de E/S al acceder a MySQL desde .NET Publicado por: MaLkAvIaN_NeT en 30 Marzo 2008, 18:45 pm ese driver funciona correctamente si no lo haces por algún error nuestro te recomiendoponer el fragmento de codigo
|