visual studio microsoft compact sql-server database design windows-mobile sql-server-ce

studio - ¿Alguien ha usado(o considerado usar) Sql Server Compact Edition?



sql server compact 4.0 local database visual studio 2013 (9)

Probé varias versiones de SQLCE y siempre terminé usando la excelente implementación de SQLite de ADO.NET: es más liviana, más rápida, más fácil de usar (al menos para mis propósitos), y es portátil en casi todas las plataformas.

Me he estado preparando para presentar una presentación sobre SQL Server Compact Edition 3.5 (SP1 - lanzado recientemente) y me preguntaba si alguien había diseñado (o contemplaba diseñar) un sistema con SQL Server CE 3.5 (o versiones anteriores).

En particular, ¿alguien ha pensado (o experimentado) utilizando SQLCE como una solución para el almacenamiento de datos fuera de línea (como parte de un diseño de sistema conectado)?

La versión 3.5 parece ser bastante rica en funciones en comparación con sus predecesoras, ¿está lista para una consideración seria (ahora que es compatible con LINQ to SQL, columnas de identidad y una variedad de T-SQL importantes)?

¿Consideraría usarlo si tuviera la necesidad de una base de datos basada en archivos liviana y de baja huella (especialmente si es necesario que sea compatible con dispositivos móviles y sistemas de escritorio), o hay mejores opciones?


Actualmente utilizo SQL CE con NHibernate en una aplicación empresarial donde la base de datos SQL CE se sincroniza con Sync Framework a través de WCF a un servidor SQL 2008. ¡Funciona de maravilla! especialmente generar la base de datos a partir de los archivos de mapeo nhibernate es simplemente increíble.

¡pero incluso cuando se usa linq2sql funciona bastante bien!


Ayudé a desarrollar y mantener un software de PDA que utiliza SQL Server CE 2.0. Creo que está bien siempre y cuando sepas dónde están los límites.


En el trabajo, recientemente tuvimos que migrar un proyecto diseñado para SQL Server Express a SQLCE. Al principio pensé que iba a ser horrible, principalmente debido al hecho de que no hay procedimientos almacenados. Sin embargo, una vez que empezamos a investigar, y vimos lo que OFRECE, estábamos convencidos de que era el movimiento correcto. Es compatible con LINQ, la consulta de muchos datos tomó MUCHO más rápido de lo que pensábamos. La inserción y la actualización fueron un poco más lentas, pero realmente nada mal. Los únicos problemas que encontramos realmente fueron A) Management Studio 2005 no lo admite, y aunque 2008 sí lo hace, es muy limitado. No estoy seguro de por qué, con suerte cambiarán eso para lanzamientos futuros, pero me fastidió muchísimo. B) Al intentar migrar un DB de SQL Server existente a un SQLCE, realmente no existe una manera fácil de crear el esquema a partir del existente y mover todos los datos. Probablemente tendrá que hacer rodar su propia herramienta para hacerlo (tuvimos que hacerlo).

Sin embargo, todo lo dicho, el resultado final fue increíble. El tiempo de instalación se redujo a un tercio ahora que los usuarios no tenían que instalar SQL Express, y la aplicación funcionó mucho mejor en máquinas con menos memoria. En general, me sorprendió lo bien que realmente funciona.


He usado SQLCE una vez, para un ejercicio que he recibido en una entrevista de trabajo, y fue suficiente para eso. Ahora, cada vez que necesito tal funcionalidad, uso sqlite o firebird.

La usabilidad de SQLCE para ese ejercicio fue muy buena. Es rápido, tiene un buen editor visual y está bien integrado en Visual Studio.

En pocas palabras: si puede manejar las limitaciones de SQLCE, y está SEGURO de que no necesitará más que eso, úselo.


Intenté SQLCE varias veces. Siempre terminé usando algo más (Firebird (embedded), SQLite, VistaDB). IMO SQLCE es limitado a ser útil en escenarios más o menos complejos. Aunque no tengo experiencia en el mundo real con la última versión (3.5) pero sospecho que todavía apesta :)


Si se usa en un dispositivo móvil, entonces no puede usar Linq para SQL.

Lo usamos y es agradable, pero Linq to Dataset no es tan bueno como Linq to SQL


Usamos SQLCE (versión 3.0, creo) en un proyecto hace un año o 2.
El problema que tuve fue que necesitaba una instalación, no era XCOpy desplegable. Además, la actuación fue horrible. estábamos haciendo aproximadamente 20 inserciones por segundo, lo que probablemente esté fuera de sus capacidades, pero definitivamente no podía manejarlo. Los problemas de rendimiento y despliegue me han convencido de que hay mejores alternativas. mi próximo proyecto usará SQLite o VistaDB.

Utilicé SQLite en la Mac e IPhone para el desarrollo, y funciona muy bien en ambas plataformas.


Existe un problema si usa SQLCE 3.5 SP1 con Entity Framework. Básicamente hay un problema al pasar algunos parámetros a una consulta. La solución alternativa es desinstalar SQLCE e instalar otra versión lanzada como una revisión. El problema es cuando intentamos incluir SQLCE en un proyecto de instalación. Se puede encontrar más información sobre el tema en este hilo: http://social.msdn.microsoft.com/Forums/en-US/sqlce/thread/b6bac277-cf66-4c74-a0b3-e48abedbd161

Otro problema extraño es que SQLCE 3.5 SP1 con el marco de entidades no funcionará en los sistemas de 64 bits a menos que lo construya para apuntar a x86 ( http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/aa5850bb- 34fe-4064-82b0-4a7cac675c91 / )