lunes, 2 de marzo de 2009

Aprendiendo a usar SQL Server CE 3.5 SP1

Hola a todos, es la primera entrada de blog que escribo y bueno, nace debido a los cambios que han pasado últimamente en mi manera de trabajar. Actualmente estoy trabajando en un proyecto para el gobierno que requiere de ciertos requerimientos especiales. Uno de los más importantes es que la base de datos ha de ser portátil, es decir, que no vamos a usar un servidor de base de datos.

Como siempre debemos encontrar métodos capaces de solucionar los problemas a los que nos enfrentamos así tengamos que aprender sobre la marcha el uso de ciertas tecnologías, lo bueno es que vengo trabajando con tecnologías Microsoft desde hace varios años, allá por mis días universitarios y de trabajo en la Andina (la universidad).

Bueno, vayamos al grano, lo primero fue descargar e instalar una IDE familiar para desarrollo con C#, una bastante ligera y muy buena para el desarrollo es Microsoft Visual C# 2008 Express Edition, recuerden registrar su producto y también que es completamente gratuito así que hay derecho de generar productos sin el problema del pago de licencias.

El segundo paso, y que dio inicio a este pequeño blog, es descargar e instalar el Microsoft SQL Server Compact Edition 3.5 SP1, recuerde que la descarga también es gratuita y elija bien el idioma de la descarga así como la versión correspondiente a la plataforma con la que va a trabajar. Una recomendación para aquellos que trabajan en un sistema operativo de 64 bits, descarguen e instalen la versión de 32 bits y luego la de 64 bits ya que es el orden en el que han de hacer la instalación.

Ahora es necesario descargar e instalar una herramienta que nos permita interactuar con la base de datos, en este caso usaremos Microsoft SQL Server 2008 Management Studio Express, publicado para descarga desde el 20/02/2009 y es la misma versión que viene junto con el SQL Server Express Edition with Tools, ya que esta va a ser la herramienta con la que vamos a interactuar con la base de datos, además nos permitirá conectarnos a otras bases de datos (2005 y 2008).

Ha, y casi olvido un detalle, la plataforma de desarrollo es múltiple, en la oficina estoy trabajando con un Windows XP SP 3, en mi casa trabajo con un Windows Vista Ultimate de 64 bits y el equipo móvil, un MSI WIND U100 con upgrade de 2 Gb en RAM, corre un Windows 7 (32 bits). Si se están preguntando como estoy sincronizando el código fuente, pues estoy usando el Live Mesh, sincronizando la carpeta de proyectos, con lo que basta con encender el equipo para tener los datos actualizados.

En este momento escribo desde el WIND usando el Windows Live Writer, así que las imágenes serán usando la resolución estándar del equipo (1024 x 600), ahora si, luego de la descripción del entorno, procederemos al código.

Para empezar prefiero asumir cierto conocimiento (muy básico para ser exacto) sobre el uso de las herramientas mencionadas (Microsoft Visual C# 2008 Express Edition y SQL Server Compact Edition 3.5 SP1), así que empezaremos por iniciar la interfaz de C#, y crearemos un nuevo proyecto siguiendo los pasos:

  1. Ir al menú Archivo y elegir Nuevo Proyecto (CRTL-SHIFT-N).imagen blog 001-001
  2. Veremos una ventana donde elegiremos como tipo de proyecto un proyecto para Windows y le pondremos por nombre “ejemplo SQL SERVER CE”.imagen blog 001-002
  3. Finalmente podremos observar como en se generan los archivos base del proyecto, estos se ven a la derecha de la siguiente imagen, en Explorador de soluciones.imagen blog 001-003

Lo siguiente a hacer es crear nuestra base de datos, para ello, desde C# Express hacemos lo siguiente:

  1. Abrimos la ventana de Orígenes de Datos, ubicada en el menú de Datos y luego presionamos Mostrar orígenes de Datos.imagen blog 001-004
  2. Luego, en la ventana de Orígenes de Datos, le damos clic a Agregar nuevo origen de datos, esto abrirá el Asistente para la configuración de orígenes de datos. imagen blog 001-005
  3. Una vez abierto el asistente elegimos como origen el ícono de Base de Datos, luego clic en Siguiente.imagen blog 001-006
  4. Ahora nos solicita la cadena de conexión a nuestra base de datos, como no la tenemos vamos por el botón Nueva conexión.imagen blog 001-007
  5. Observe como el proveedor de datos por default es Microsoft SQL Server Compact 3.5, esto se debe a que en el equipo no existe otro proveedor de datos. imagen blog 001-008
  6. En caso que no aparezca como proveedor de datos el SQL Server Compact 3.5, vamos por el botón Cambiar. Aparecerá una ventana que nos dará la opción de cambiar el proveedor de datos, elegimos Microsoft SQL Server Compact 3.5 y luego al botón Aceptar.imagen blog 001-009
  7. Una vez elegido el proveedor de datos, elegiremos en las propiedades de la conexión la base de datos, ya que no tenemos base de datos, le daremos clic al botón Crear.imagen blog 001-010
  8. Ahora procedemos a crear la base de datos, la ventana nos solicita cierta información de la base de datos, como la ubicación y el nombre, note que el archivo termina con la extensión *.sdf, el nombre que le hemos dado en este ejemplo es BDprueba.sdf y la ubicación es la ubicación donde esta el código fuente del proyecto, además la intercalación dada al archivo corresponde a Español(Perú), terminado esto le damos clic al botón Aceptar.imagen blog 001-011
  9. Con estos pasos hemos creado la Base de Datos, nos  ha devuelto a la ventana del paso 5, para cerciorarnos de que todo este bien, le damos clic al botón Probar conexión.imagen blog 001-013
  10. Seguidos los pasos anteriores la prueba será exitosa, como se puede apreciar en la imagen siguiente.imagen blog 001-014
  11. Regresamos nuevamente a la pantalla anterior, y damos clic en Aceptar, ya que hemos terminado con los pasos necesarios para la creación de la base de datos.imagen blog 001-015
  12. Finalmente, podemos observar como el nombre de la base de datos aparece como conexión válida. Si desplegamos la cadena de conexión podemos observarla, esta se dirige a la ubicación de los archivos de código fuente del proyecto. imagen blog 001-016
  13. Al presionar el botón Siguiente, aparece un mensaje sugiriéndonos incluir la base de datos al proyecto, la vamos a tratar de manera independiente así que le daremos clic al botón No.imagen blog 001-017
  14. Ahora nos pregunta si deseamos o no guardar la cadena de conexión, dejamos las opciones como en la imagen siguiente y damos clic en el botón Siguiente.imagen blog 001-018
  15. Finalmente, recibimos el mensaje de que tenemos una base de datos nueva, sin objetos, lo cual es obvio ya que aún no hemos creado ningún objeto, sin embargo, se creará el correspondiente DataSet aunque no tenga ni un sólo dato (vacio), damos clic en el botón Finalizar. imagen blog 001-019 
  16. En la siguiente imagen observamos algunos cambios. El primero es en panel de la izquierda, donde ya aparece como un origen de datos nuestro DataSet, el creado en el paso anterior. El segundo, es en el Explorador de Soluciones (panel de la derecha), donde observamos una nueva referencia (System.Data.SqlServerCe y System.Data.DataSetExtensions), y, claro está, también nuestro DataSet (BDPruebaDataSet.xsd).imagen blog 001-020

Espero les haya servido de algo esta pequeña guía ilustrada sobre como dar los primeros pasos con SQL Server Compact Edition 3.5 SP1, en la siguiente oportunidad abordaremos el tema de como crear las tablas de dos formas distintas, usando C# Express Edition y con el SQL Server 2008 Management Studio Express.

Hasta la próxima y no olviden poner sus comentarios y/o dudas.

Ing. Ivan Molero Delgado