Category Archives: Bug Hunter

No todo en la vida es fácil y menos con los errores en el software.

Cuando MySQL confunde la ñ con la n

Llevaba 3 días tratando de resolver un problema con mi base de datos.

No me quejo, llevo mucho tiempo trabajando con MySQL como mi base de datos principal sin problema alguno, de hecho el error fue mío por desconocer la codificación adecuada para el proyecto.

El problema era que cuando hacia una consulta no me mostraba los datos correctamente. Por ejemplo si le pedía la información relacionada con el articulo AÑ056 , me regresaba los datos del articulo AÑ056 y los del AN056 !!!, no distinguía la diferencia entre uno y otro. ¡No distinguía la diferencia entre la n y la ñ!

Al principio creí que era un problema del Conector ODBC que uso en windows, pero después de hacer unas consultas en google quedó descartado.

Segundo sospechoso fue la codificación y es que por default mysql en windows se instala con latin1, al parercer esta codificación presenta problemas al momento de crear índices con caracteres especiales como la ñ o letras acentuadas.

Por cierto, sigan mi consejo, es importantísimo hacer un respaldo de los datos, por estar concentrado en los cambios de la codificación por poco y pierdo los datos. Y si es posible trabajen en una base de datos local de pruebas para no interrumpir el trabajo de la base en producción.

Después de hacer varios intentos y de recuperar en cada uno de ellos mi base de datos original, el problema se solucionó cambiando la codificación de toda la base de datos y en especial en el campo que me estaba ocasionando problemas.

database encode

La base de datos quedó de la siguiente forma:

Character set: utf8
Collation: utf8_unicode_ci

La codificación del campo fue la que me causó mayor problema (y es el origen del bug), intenté con varias codificaciones hasta que dí con la que me funcionó, por ejemplo si intentaba con un collation utf8_general_ci me daba un error de Duplicate entry, supongo que era un error por el valor del campo llave duplicado.

Y con un utf8_unicode_ci , me decía que los datos eran demasiado grandes para el campo.

Al final quedó de la siguiente manera:

Cambiando la codificación del campo

Character set: utf8
Collation: utf8_spanish_ci

Eso solucionó el problema y al hacer las consultas me regresó correctamente los registros adecuados. :)

Pasen un buen fin de semana !!!

Popularity: 1%

Has llegado aquí buscando:

  • diferenciar n ñ mysql utf8_general_ci
  • mysql confunde ñ con n

Norton Internet Security no permite abrir páginas en Explorer o Firefox pero si el MSN

Dos días me tarde en encontrar al culpable pero lo logré ….

Todo comenzó hace un par de días, llegó una nueva compañera de trabajo con su flamante HP nuevecita con el infame windows vista home edition premium.

HP con el infame windows vista

La idea era darle acceso a la red del trabajo, pero era imposible, aunque estaba conectada a la red no lograba establecer una conexión con mi servidor Ebox.

Al revisar la computadora me di cuenta de que tenía DOS antivirus instalados y ejecutándose, el Norton Internet Security (que supongo venía de fábrica) y el AVG Free Edition.

Norton Internet Security

Quité ambos, le di una pasada con el ccleaner y reinstalé el AVG, pero ahora al hacer esto marque el comienzo de mi calvario.

Inexplicablemente el windows no abría ninguna página, ni usando el Internet Explorer 7 ni con Mozilla Firefox, pero extrañamente si se podía conectar al MSN y al Skype.

¿Donde estaba el culpable? creí que era el firewall de vista, pero después de desactivarlo se comportaba de la misma manera.

Tardé dos días persiguiendo al fantasma, búsquedas intensivas en bing no me dieron ningún resultado (pero eso ya lo sabía), así formulé una hipótesis que al parecer fue la correcta.

Por alguna extraña razón una parte del Norton Internet Security seguía viva en la computadora ¿Donde?, no lo se exactamente, pero ¿Cómo eliminar un programa que ya había desinstalado?.

Gracias a Google que me dio la ubicación de una herramienta de la misma Symantec llamada Norton Removal Tool, un pequeño archivo que literalmente barre con todo rastro de algunos productos de esta compañía.

El programa me hizo algunas advertencias, capturar un captcha y después de reiniciar, tras unos laaaaargos minutos de suspenso (¿Les tengo que recordar que el arranque de vista es leeeeeeeeeeento? ) ¡Al fin! todo regresó a la normalidad.

En ocasiones ya he mencionado que Norton (y Symantec) han hecho una industria con los errores de Windows, pero en un afán de “proteger” este sistema operativo se pierde rapidez en el sistema. En varias ocasiones he visto personas con computadoras que se arrastran después de quitar el Norton han recuperado la agilidad de sus equipos.

¿Ustedes siguen usando productos de Symantec?

Popularity: 1%

Fail TVolucion.com

Estaba buscado aquella entrevista que hizo Loret de Mola a un epidemiólogo, voy al sitio tvolucion.com que se supone es el canal oficial en internet de Televisa.

No se que clase de reproductor utilicé pero en fin, me disponía a instalarlo cuando … FAIL !!!!

Fail Tvolucion

Cumplo con los requisitos, pero no más no me quiere el mugrero ese. Bueno tendré que buscar por otro lado.

Popularity: 1%

Has llegado aquí buscando:

  • tvolucion

El colmo con Bancanet

En varias ocasiones he demostrado mi inconformidad por el sitio de Banca electrónica de Banamex, sobre todo porque exige el uso de Internet Explorer.

Bancanet de Banamex

También tiene un diseño fataaaaal, me ha tocado auxiliar a mis usuarios con los detalles de esta aplicación y realmente esta muy mal. Para colmo de males hacen cambios sin avisar.

Ayer un amigo me aviso que simplemente no podía hacer operaciones porque no le aparecía el cuadrito donde tecleaba la clave dinámica. Y efectivamente, hicieron un cambio y donde supuestamente aparecía ya no lo hacía más.

Tuvimos que hablar al soporte técnico, y nos dieron la solución inmediatamente (al parecer ya es un bug común y no era el primero en hablar). Algún simpático hizo que el cuadrito donde se teclea la clave dinámica apareciera en una ventana emergente (pop-up).

Desactivar el bloqueador de elementos emergentes.

No se si el bloqueador de elementos emergentes esta activado por default en IE 7, pero para que funcione Bancanet tuve que desactivarlo Menú Herramientas – Bloqueador de elementos emergentes – Desactivar.

Para colmo ¿Tienen ideas de cuantas barras de herramientas de Explorer tienen bloqueador de ventanas emergentes?, para no batallar también desinstalé la barra de Google.

Uno puede suponer que un banco debe de contar con los recursos como para generar una aplicación web coherente y funcional, pero no es el caso con Banamex.

Popularity: 5%

Has llegado aquí buscando:

  • bancanet banamex
  • bancanet 2 0 movimientos
  • BancaNet2 2
  • por qué no sirve bancanet en los días santos?
  • sua bancanet
  • sua BANCANET hay mas de un archivo en el disco

Perdida de conexión a un servidor MySQL mediante ODBC y MS Access

Desde hace tiempo hice un sistema que utiliza a Microsoft Access pero el motor de base de datos esta en MySQL. Utilizando el conector ODBC el origen de los datos es transparente para Access y con eso puedo tener un sistema más eficiente al momento de realizar algunas consultas.

Todo funcionaba de maravilla, hasta que llegó el momento de unir dos sucursales mediante una VPN, coloqué el servidor en un extremo y algunos de los clientes en el otro, entonces fue cuando empecé a recibir mensajes como este:

MySQL Server has gone away (#2006)

Lo malo es que este error provocaba congelamientos en el sistema o evitaba que se guardaran los últimos cambios, cosa que definitivamente puede llevar el calificativo de no good.

Al parecer ya es un bug conocido según este reporte. Ahí mencionan que lograron evitarlo haciendo una pequeña consulta cada cierto tiempo para mantener viva la conexión.

Eso era relativamente sencillo de intentar, siempre tengo un formulario abierto en el que tengo el menú de opciones, así que ahí decidí poner el código.

Abri el formulario en modo diseño y modifique la propiedad Intervalo de cronómetro

timer

El valor esta en milisegundos así que 10000 equivale a 10 segundos, este valor se puede ir “ajustando”, más largo si no es tan frecuente el problema, hasta encontrar un valor óptimo.

Ahora generé un código en la propiedad Al cronómetro, en este punto hay varias maneras de hacerlo, básicamente lo que se requiere es hacer una pequeña consulta, así que inserté el siguiente código:

Private Sub Form_Timer()
    Dim dbMidb As Database
    Dim qdfConsulta As QueryDef
    Dim rst As DAO.Recordset
    Dim strConsulta As String

On Error GoTo Error:

'Inicializa los parametros de la consulta.
Set dbMidb = CurrentDb
Set qdfConsulta = dbMidb.CreateQueryDef("")

'Ejecuta una consulta sencilla para mantener viva la conexión.
strConsulta = "SELECT usuarios.usuario FROM usuarios;"
qdfConsulta.SQL = strConsulta
Set rst = qdfConsulta.OpenRecordset

Error: 'Terminamos el recordset rst.Close

End Sub

Claro que la instrucción SQL expresada en la variable strConsulta puede ser diferente dependiendo del nombre de las tablas de cada proyecto, elegí la tabla de usuarios porque a lo mucho me regresa 10 registros.

consulta

Ahora solo falta comprobar que se este ejecutando la consulta. Al revisar la gráfica puedo ver un pequeño “pulso” cada cierto tiempo que me dice que efectivamente todo esta funcionando como se planeo.

grafica

Quiero suponer que el problema se debe a algún detalle en el ODBC de Windows, pero mientras sale un arreglo mejor esta consulta intermitente me esta funcionando.

Popularity: 1%

  LinuxmanR4.com: Todas las imagénes, nombres de productos y nombres de empresa o logotipos citados en esta página web son propiedad de sus respectivos propietarios. Todos los artículos publicados están publicados bajo la licencia Creative Commons Atribución-NoComercial-SinDerivadas 2.5 México (CC BY-NC-ND 2.5). Utiliza software libre.