Blog

C# .Net MySql Problema:Guid debe contener 32 dígitos con 4 guiones (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) Solucionado

Posted by:

En mis incursiones a Bases de Datos (para SugarCrm), estoy ahora jugando con una sincronización entre un ERP y SugarCRM, y una de las primeras acciones que he realizado, me he encontrado con el siguiente error:

Guid debe contener 32 dígitos con 4 guiones (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

¿Cuando sucede esto?

Al acceder a una tabla, y alguno de los campos que seleccionaremos (bien mediante un select * o un select de un CampoId), hemos de verificar que los campos sean Char (36)

Si sucede esto, ya la hemos cagado (o no…)

El problema es que los datos son devueltos o interpretados como Guids, y sale el mensajito de arriba.

Esto es debido a una modificación del conector .net de MySql.

¿La solución?

Sorprendentemente es sencilla, y solo hay que añadir un pequeño texto a la cadena de conexión (“old guids=true” )

de tal manera que nuestra cadena de conexión quedaría así:

C#:

  1. span style=”color: #808080;”>”Server=nombreServidor;Database=nombreBaseDatos;Uid=Usuario;Pwd=Password;Port=3306;old guids=true”;

Con esto ya podreis atacar a la base de datos con toda normalidad

La otra salvajada era ir modificando el tamaño de los campos id y pasarlos de 36 a 18 u otro valor, pero sinceramente esta es de guante blanco.

Como siempre agradecer a las fuentes: Juan Camacho, mysql

1


About the Author:

Discussion

  1. Deimer Ramos  August 22, 2016

    gracias me sirvio

Add a Comment

UA-30641277-1