Simpatico Error!.

#1
Estoy Trabajando con "VB .NET 2008", y la aplicación que desarrolle trabaja perfectamente en cualquier PC pero existe una con la que no trabajan los Querys =S.

El problema es cuando el query intenta recoger registros de la BD, suponiendo:
"select * from tabla limit 0;" <-- No trairia ningun registro y la aplicacion corre normal.
"select * from tabla limit 1;" <-- Aqui si trae un registro y manda el error.

El error en sí no me dice mucho mas que:
"Error, intento de leer o escribir en la memoria protegida. a menudo esto indica que hay otra memoria dañada".

Probe la BD y la Conexión y nada indica que este algo mal, ademas, instale desde cero el framework y tampoco nada. Y no creo que este haciendo algo mal puesto que esto lo he hecho exactamente igual que cuando lo instalo en otras PCs.

No se si sirva pero el query me devuelve un datatable a traves de una función, y el resultado lo asigno a una variable para trabajar con ella.
"Datos = ExecuteTable(Query)"

Las caracteristicas de la PC donde NO trabaja son:
Win XP SP3
FrameWork 3.5 SP1
Intel Pentium D.
2GB RAM
200 DD.
(Lo simpatico es que lo he instalado en peores y mejores PCs que esta).

Si a alguien le ha pasado y lo a solucionado le agradeceria infinitamente su respuesta, y si no les ha pasado, igualmente les agradeceria infinitamente si me dieran algunas pistas pq ya he agotado todas las mias.
 
#3
Si, y para hacer la conexion uso:
- MySQL Connector ODBC (http://dev.mysql.com/downloads/connector/odbc/5.1.html)
- MySQLDriverCS (http://sourceforge.net/projects/mysqldrivercs/)

Un ejemplo del codigo que uso:
Código:
'Imports
Imports System.Data
Imports System.Data.Odbc
Imports System
Imports System.IO

'Definimos los datos de Acceso a la Base da Datos
    Public Const DBUser As String = "root"
    Public Const DBPass As String = "N0t4r1A2I"
    Public Const DBServer As String = "localhost"
    Public Const DBName As String = "notaria21"
    Public Const DBDSN As String = "MySQL"
    Public Const DBPort As String = "3306"
    Public Const DBDriver As String = "MySQL ODBC 5.1 Driver"

    'Var que contiene la cadena de conexión a la base de datos
    Public CnxStr As String = "DRIVER=" & DBDriver & "; SERVER=" & DBServer & ";
                             DATABASE=" & DBName & "; DSN=" & DBDSN & ";
                             UID=" & DBUser & "; PWD=" & DBPass & "; PORT=" & DBPort & ""

 'Esta funcion ejecuta una consulta y regresa un DataTable
    Public Function
         ExecuteTable(ByVal Query As String) As DataTable
        Dim dtDatos As New DataTable
        Dim OdbcCmd As New OdbcCommand
        Dim Cnx As New OdbcConnection(CnxStr)
        Dim daDatos As New OdbcDataAdapter(OdbcCmd)

        OdbcCmd.Connection = Cnx
        OdbcCmd.CommandText = Query

        Try
            daDatos.Fill(dtDatos)
        Catch ex As OdbcException
            Throw New ArgumentException(ex.Message)
        Catch ex As Exception
            Throw New ArgumentException(ex.Message)
        End Try

        Return dtDatos
    End Function

'Ahora si, A ejecutar el query
   Dim Datos As New DataTable
   Dim Query as String

   Query = "Select * From usuarios Limit 1"
   Datos = ExecuteTable(Query)       'Y manda el Error... pero solo en "esa" PC.
 

zaiboot

Bovino maduro
#4
.
El error en sí no me dice mucho mas que:
"Error, intento de leer o escribir en la memoria protegida. a menudo esto indica que hay otra memoria dañada".
Sería interesa ver la posibilidad de que el mensaje de error tenga algo de razón.
Ya le revisó el hardware?
En caso de que no, trate de revisarlo con un hirens boot cd o alguna otra utilidad de revisión de memoria.
Otras recomendaciones:
Trate de replicar el mismo hardware en una máquina virtual para probar de que no sea un problema de su programa ( ya sabemos que funciona bien en otras máquinas pero igual nada se pierde :confused:)
Trate de conectar por medio de mysql gui tools a la base de datos a ver si cuando realiza la query da error.
Ya si nada funciona, trate de montar un LIVE-CD de ubuntu o algo así y conecta a mysql por medio del LIVE-CD a ver si da error igual.

Otra es que trate de formatear la máquina y reinstalarla a ver si es el windows que está dañado.
Saludos
 
#5
Muchas gracias por tus recomendaciones.

Tenia planeado cambiar la RAM por otra pero si hay herramientas para probar las RAM lo utilizare primero.

Voy haber si puedo hacer un clon de "esa" maquina y probarla en la maquina virtual, nunca se me ocurrio.

Sobre la conexion, realizé varias consultas desde la consola de mysql y no dio problemas, igual y puede ser conexión pero segun yo, si pude conectarla desde el "adm de conexion odbc" de windows entonces deberia de funcionar bien, igual voy hacer otra aplicación donde me conecte a la B.D. de varias formas y haber que sucede.

Estoy muy confiado respecto a que el error no se debe a la BD o su conexión, pero creo que el error quedara a la vista cuando utilize la maquina virtual en mi PC.

Nuevamente gracias por todas tus recomendaciones, cuando valla de nuevo con el cliente a intentar instalarselo pondre los detalles de como fue lo que tenia y como lo resolvi. saludos.
 
Arriba