SQL Server CE 4.0 , y el por que debería interesarnos.

Ya ha pasado un tiempo desde el anuncio sobre el release de SQL Server CE 4.0, pero quiero volver a tocar el tema, ya que es muy interesante lo que se puede lograr en ambientes web.

¿Que es lo SQL CE y por que debe interesarme?

Sql Server CE 4.0 es el nuevo miembro en la gama de productos SQL Server de Microsoft, pero la pregunta es ¿por que debería interesarnos?, las respuestas:

Es Gratis, no necesita un motor en el servidor y es compatible con las APIs de datos existentes.

Como decía, no se necesita instalar un motor en el servidor (al estilo SQL Lite), solo debemos copiar los binarios de SQL CE en la carpeta bin de nuestra aplicación. Tampoco se requiere cuenta de administrador en la maquina en la que va a correr.

Al no tener un motor corriendo, SQL CE corre junto con la aplicación ASP.NET y se “levanta” la primera ver que accedemos a la base SQL CE, esto es, si instanciamos un contexto o una nueva conexión de SQL CE.

Es además compatible con las API de Net para manejo de datos, y la sintaxis es compatible con SQL Server, si bien se puede utilizar EF y NHibernate, LinQ2SQL aún no está soportado.

Podemos entonces, utilizar esta base de datos, para nuestros proyectos con WebForms, ASP.NET MVC,  y ASP.NET Web Pages. Sirviéndonos para trabajar en ambientes de explotación y prueba, y este en un punto muy importante que marca la diferencia con versiones anteriores de SQL Server, ahora podemos utilizarlo sin problema en un servidor web. Es claro, que los ambientes de producción soportados, son más livianos,no hay que olvidar nunca que estamos hablando de una versión compacta.

En el caso que nuestro ambiente crezca, entonces, podemos migrar a SQL Server Express, que también es gratis, SQL Server o SQL Azure. Por ejemplo WebMatrix, permite la migración de SQL CE a una versión superior de manera sencilla, la opción está en la barra de tareas y no implica ninguna dificultad adicional (la migración es de datos, indices, tipos, esquema, etc, pero no de procedimientos ya que no están soportados en SQL CE, ok ok, estamos hablando de Compact!)

Las herramientas incluidas en Visual Studio SP1, dan soporte para utilizar SQL CE junto a ASP.NET, dentro de las acciones que podemos hacer tenemos:

  • Crear nuevas bases de datos SQL CE.
  • Crear tablas, y crear, modificar eliminar registros en ella
  • Setear claves para acceder a la base.
  • Utilizar el diseñador del Entity Framework para crear el modelo a partir del esquema.
  • Usar EF Code First para definir primero el modelo y luego crear la BD a partir de él.
  • Utilizar Web Deploy y migrar a SQL Server nuestra base SQL CE.

Una ves instaladas

Descarga Visual Studio SP1 desde acá:
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=75568aa6-8107-475d-948a-ef22627e57a5&displaylang=en

Una vez instaladas las herramientas podrás agregar la BD a tu sitio web.

image

Luego ver las propiedades, setear, crear tablas sigue el mismo patrón de UI que las otras versiones de SQL Server.

image

El espacio de nombres a utilizar es el System.Data.SqlServerCe, puedes ver en el Object Browser los métodos y propiedades disponibles.

Espero que te haya servido de introducción
Saludos!
gonzalo

8 comentarios en “SQL Server CE 4.0 , y el por que debería interesarnos.”

  1. Fantástico!! Casi lloro al ver que podré subir mis apps a cualquier hosting patatero sin tener que preguntar ¿Tenéis Sql Server? ¿Cuánto cuesta?, etc.
    Por cierto, ¿Qué hosting recomendáis para subir apps en .NET 2.0, también 4.0, con soporte de Sql Server y en general “bien orientados” a ASP.NET? Yo, ahora mismo sólo sé de Arsys e Interdominios, pero tampoco sé sin son los más adeacuados para ASP.NET…
    Un saludo y gracias por el post.

  2. Hola Sergio, sii!, muy bueno esto, esperemos a que PHP también genere una API para esto.
    Sobre los hosting, por lo menos en Chile, hay algunos, pero creo que te gustaría contratar uno en España-
    saludos!
    Gonzalo

  3. Hola Gonzalo:

    Efectivamente, me refería a España, perdón por no especificarlo.

    En cualquier caso, voy a hacer unas pruebas lo antes posible para testear CE en mi hosting, la verdad es que esto es un tema que creo que vamos a agradecer todos los que desarrollamos en ASP.NET!!GU

  4. Q buen post, pero tengo una pregunta, si etngo una app para azure y uso sql server ce 4 no voy a tener ningun problema? es decir esta totalmente soportado?
    y puedo usar Entity Framework con POCO sin problemas?

    Gracias !

  5. OK lo tendre en cuenta, supongo q con aplicaciones SIlverlight funciona sin problema, pero si desarrollo una App para windows phone 7?? como todo es silverlight tmb funcionaria?

    Gracias !

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *