viernes, agosto 06, 2010

WM: Otra del emulador

Apenas hace dos días pude por fin encontrar solución al problema de conexión entre mi emulador de WM6 y mi SQL Server 2005... pues hoy, de la nada, me encontré con este error al intentar instalar mi aplicación en el emulador desde el VS2008:

Error 1 The device security configuration disallowed the connection. Ensure that you have the appropriate certificates on your device for development. Review your SDK documentation for proper security settings for connecting to this device. Device Connectivity Component

Después de leer una docena de artículos que hablaban desde cambiar unos valores en el registry del emulador, hasta instalar unos certificados de seguridad y demás, encontré mi propia solución: hacer un soft reset del emulador!!!

Asi que se cumple la máxima suprema de la computación: cuando algo no funcione, REINICIELO!!!


miércoles, agosto 04, 2010

WM: Una nueva luz al problema "SQL Server not found"

Después de casi cuatro años de haber empezado mi primer proyecto con Windows Mobile... y descubrir la HORRIBLE realidad de lo difícil que puede llegar a ser lograr que el emulador de Windows Mobile se conecte a una instancia de SQL Server corriendo en tu equipo, POR FIN, encontré algo que parece solucionar definitivamente el problema.

Para los que apenas se están empezando a topar con esta realidad, o para las que ya la han sufrido y aun no entienden bien cual es el problema, he aqui lo que he aprendido en estos cuatro años:

1. Debes desactivar el firewall de Windows o al menos asegurarte que no esta bloqueando el puerto que este utilizando SQL Server, normalmente el 1433.

2. Debes asegurarte que tu instancia de SQL Server, especialmente si es una versión Express, este preparado para aceptar conexiones remotas. En Google es fácil encontrar los pasos para poder activar esto.

3. Si por casualidad tienes varias instancias de SQL Server corriendo simultáneamente en tu equipo, JAMAS LOGRARAS QUE EL EMULADOR SE CONECTE. Porque? la verdad aun no lo se, pero este era mi caso, y era la causa por la que, a pesar de tener todo perfectamente configurado, me era imposible establecer la conexión. La solución? detener todas las instancias de SQL Server a excepción de la que necesitas usar con el emulador. Probablemente haya alguna forma de evitar esto, pero aun no la he encontrado.

4. Todo lo que se necesita para conectar el emulador a tu equipo es "ponerlo en la cuna" o "cradle", que en el caso del emulador, se puede hacer a través del Device Emulator Manager.

5. Para poder conectarte al SQL Server desde el emulador SIN necesidad de hacer cradle, debes instalar en tu equipo el Microsoft Loopback Adapter y luego configurar la tarjeta de red del emulador para que se conecte con ese adaptador.