[SQL Server 2008][ASP.NET] Extraño caso con Session.LCID

Ayer en la tarde me disponía a presentar un proyecto web, que como siempre de forma local me funcionaba perfecto (como a todos nosotros) pero no se me ocurrió pasarlo por mi IIS antes de montarlo en el servidor de aplicativo, así que me fui muy confiado a la presentación y cuando en un momento quisieron trabajar con porcentajes la transacción me retornaba un error bastante raro: SqlException (0×80131904): Line 28: Incorrect syntax near ‘,’ Apenas vi el error en pantalla lo supe! tenía que ver con la Cultura del servidor, pero nunca había visto algo así, además el error era de SQL, entonces me retire de la reunión y empecé a correr los querys uno a uno.

Una vez revisé los querys y ninguno me arrojaba este error, acudí al administrador de infraestructura para preguntarle por las configuraciones regionales de los servidores, el de aplicativo y el de base de datos. El hombre me dijo que el de BD esta en español y el de aplicativo en Ingles Americano. ¡Ohh! ¿Cómo así? ¿Quién aprobó esto? Ahí estaba el problema, cuando se pedían porcentajes se retornaban valores decimales si el porcentaje era mayor a cero e inferior a cien. Este tipo de configuraciones regionales y de idioma afectan de manera global el uso de puntos y comas para miles y decimales, pero el cambiarlo desde el panel de control no afectaría al IIS ni al SQL Server, (¿por qué? no lo sé) así que era hora de cambiar el Session.LCID que en resumidas cuentas es una propiedad de tipo entero que define el culture Info del aplicativo, pero, ¿cuál usar en este caso? Empecé a Bingdear y a Googlear hasta que di con el que necesitaba, les dejo una tablita con los resultados de varios ID’s que encontré y creí me servirían:

Session.LCID = 2057 Inglaterra
Session.LCID = 1033 USA
Session.LCID = 2058 México (comas y punto)
Session.LCID = 1033 USA
Session.LCID = 11274 Argentina (puntos y comas)

Redefiní mi Session.LCID en el aplicativo con el ID de México compile, subí y funcionó.

Espero les sea útil esta experiencia y la solución que le día a la misma.

Hasta el próximo post.

Anuncios
[SQL Server 2008][ASP.NET] Extraño caso con Session.LCID

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s