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.


No hay comentarios: