Descripción de SQL Server Compact 3,5 Service Pack 1


INTRODUCCIÓN


Este artículo describe Microsoft SQL Server Compact 3,5 Service Pack 1 (SP1). SQL Server Compact 3,5 SP1 actualiza la versión de SQL Server Compact 3,5. Este artículo incluye los siguientes elementos:

Más información


Notas de la versión

Historial de versiones

La siguiente lista contiene las diferentes versiones de Microsoft SQL Server Compact:
  • Versión 3,5 SP1 Microsoft SQL Server Compact 3,5 Service Pack 1 (SP1). Este Service Pack se publicó junto con Microsoft Visual Studio 2008 Service Pack 1 (SP1) y con Microsoft SQL Server 2008.
  • Versión 3,5 Microsoft SQL Server Compact 3,5. Esta versión fue publicada junto con Microsoft Visual Studio 2008.
  • Versión 3,1 Microsoft SQL Server 2005 Compact Edition. Esta versión fue publicada al mismo tiempo para la integración con Microsoft Visual Studio 2005 Service Pack 1 (SP1) y con Microsoft SQL Server 2005 Service Pack 2 (SP2).
  • Versión 3,0 Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile). Esta versión fue publicada junto con Microsoft Visual Studio 2005 y con Microsoft SQL Server 2005.
  • Versión 2,0 Microsoft SQL Server 2000 Windows CE Edition 2,0 (SQL Server CE 2,0). Esta versión fue publicada junto con Microsoft Visual Studio 2003.

Nuevas características

SQL Server Compact 3,5 SP1 incluye las siguientes características nuevas:
  • Compatibilidad con el ADO.NET Entity Framework. Entity Framework le permite trabajar con datos en forma de objetos y propiedades específicos del dominio, como los clientes y las direcciones de los clientes, sin tener que preocuparse de las tablas y columnas de bases de datos subyacentes en las que se almacenan los datos. Nota La compatibilidad con el ADO.NET Entity Framework le permite crear consultas flexibles, con establecimiento inflexible de tipos, en el contexto de objeto de Entity Framework mediante el uso de expresiones de LINQ y los operadores de consulta estándar de LINQ directamente desde el entorno de desarrollo.
  • Compatibilidad con intercalaciones con distinción entre mayúsculas y minúsculas en el nivel de base de datos.
  • Administración de bases de datos de SQL Server Compact almacenadas en un dispositivo Windows Mobile o en un equipo de escritorio con SQL Server Management Studio (SSMS) en SQL Server 2008.
  • Replicación de los nuevos tipos de datos en SQL Server 2008. Estos tipos de datos incluyen Date, Time, datetime2, DateTimeOffset, Geographyy Geometry. Los nuevos tipos de datos de SQL Server 2008 se asignan a nchar, nvarchar, Image, etc.
  • Compatibilidad nativa de 64 bits. La compatibilidad con 32 bits no ha cambiado.
  • Compatibilidad con la replicación de datos con SQL Server 2008, con SQL Server 2005 y con SQL Server 2000 mediante los servicios de sincronización de Microsoft para ADO.NET 1,0 Service Pack 1 (SP1). Microsoft Synchronization Services for ADO.NET 1,0 SP1 está disponible para dispositivos móviles y de escritorio.
  • Compatibilidad con la replicación de datos con SQL Server 2008 y con SQL Server 2005 mediante la replicación de mezcla y el acceso a datos remotos (RDA).
  • Compatibilidad de versiones mejorada entre SQL Server Compact y SQL Server para la replicación de mezcla.
  • Herramientas de servidor de SQL Server Compact 3,5 SP1
    • Puede replicar datos entre SQL Server Compact 3,5 y SQL Server 2008 o SQL Server 2005.
    • Admite la replicación de datos entre SQL Server 2005 Compact Edition o SQL Server 2005 Mobile Edition y SQL Server 2008 o SQL Server 2005.
    • No se puede instalar en paralelo con versiones anteriores de herramientas de servidor en el equipo que actúa como servidor que ejecuta servicios de Internet Information Server (IIS).
  • Es compatible con Windows Server 2008.
Además de las nuevas características que se enumeran aquí, SQL Server Compact 3,5 SP1 incluye las siguientes características nuevas que se incluyeron en SQL Server Compact 3,5:
  • Implementa el tipo de datos de marca de tiempo (ROWVERSION). ROWVERSION es un tipo de datos que expone números binarios generados automáticamente que se garantiza que son únicos en una base de datos. Normalmente, este tipo de datos se usa como mecanismo para la marca de la versión de las filas de una tabla.
  • Es compatible con el ámbito de la transacción local en equipos de escritorio.
  • Agrega mejoras en el diseñador de tablas en Visual Studio 2008 para proporcionar una interfaz de usuario para crear relaciones de clave principal y clave externa entre tablas.
  • Amplía la compatibilidad de las instrucciones Transact-SQL de la siguiente manera:
    • Consulta anidada en la cláusula FROM
    • APLICACIÓN cruzada y aplicación externa
    • DATACAST
    • Arriba
    • CONFIGURAR LA INSERCIÓN DE IDENTIDAD
  • Es compatible con caracteres Unicode de cualquier configuración regional. Esto incluye los chinos GB 18030 caracteres.
  • Es compatible con el desarrollo de aplicaciones de escritorio que usan Microsoft Visual 2008 C# Express Edition y Microsoft Visual Basic 2008 Express Edition.
  • Es compatible en paralelo con SQL Server 2005 Compact Edition en equipos de escritorio.
  • Compatible con los modos de cifrado compatibles con versiones anteriores de sistemas operativos anteriores que tengan algoritmos de cifrado anteriores y agrega un mejor cifrado.
  • Es compatible con LINQ to SQL. LINQ to SQL es un componente del proyecto LINQ. LINQ to SQL proporciona una infraestructura en tiempo de ejecución para administrar los datos relacionales como objetos sin renunciar a la capacidad de consulta. Traduce las consultas integradas en el lenguaje a Transact-SQL para su ejecución por SQL Server Compact y, a continuación, vuelve a traducir los resultados tabulares en los objetos definidos por el desarrollador de software. No hay compatibilidad de diseñador para SQL Server Compact en LINQ to SQL. La utilidad SqlMetal. exe debe usarse para SQL Server Compact. La herramienta de línea de comandos SqlMetal genera código y asignación para el componente LINQ to SQL de Microsoft .NET Framework. De forma predeterminada, el archivo SqlMetal. exe se encuentra en la siguiente carpeta:
    %ProgramFiles%\Microsoft SDKs\Windows\vn.nn\Bin
    La herramienta de línea de comandos SqlMetal se puede usar para lo siguiente:
    • Desde una base de datos, para generar código de origen y atributos de asignación o un archivo de asignación
    • Desde una base de datos, para generar un archivo de lenguaje de marcado de base de datos intermedio (. dbml) para su personalización
    • Desde un archivo. dbml, para generar atributos de asignación y código o un archivo de asignación

Idiomas publicados

SQL Server Compact 3,5 SP1 para todos los paquetes se ha publicado en los siguientes idiomas:
  • Inglés
  • Portugués brasileño
  • Chino simplificado
  • Chino tradicional
  • Francés
  • Alemán
  • Italiano
  • Japonés
  • Coreano
  • Ruso
  • Español

Plataformas compatibles

SQL Server Compact 3,5 SP1 puede instalarse en las siguientes plataformas:
Equipos de escritorio de Windows
  • Windows Server 2008 Standard Server
  • Servidor Windows Server 2008 Standard (sin Hyper-V)
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Enterprise (sin Hyper-V)
  • Centro de datos de Windows Server 2008
  • Centro de datos de Windows Server 2008 (sin Hyper-V)
  • Windows Server 2008 Web Edition
  • Windows Server 2008 Standard Server x64
  • Windows Server 2008 Standard Server x64 (sin Hyper-V)
  • Windows Server 2008 Enterprise x64
  • Windows Server 2008 Enterprise x64 (sin Hyper-V)
  • Centro de datos de Windows Server 2008 x64
  • Centro de datos de Windows Server 2008 x64 (sin Hyper-V)
  • Windows Server 2008 Web Edition x64
  • Windows Vista Home Basic SP1
  • Windows Vista Home Premium SP1
  • Windows Vista Business SP1
  • Windows Vista Enterprise SP1
  • Windows Vista Ultimate SP1
  • Windows Vista Starter SP1
  • Windows Vista Home Basic x64 SP1
  • Windows Vista Home Premium x64 SP1
  • Windows Vista Business x64 SP1
  • Windows Vista Enterprise x64 SP1
  • Windows Vista Ultimate x64 SP1
  • SP3 de Windows XP Professional
  • SP3 de Windows XP Home Edition
  • Windows XP Media Center Edition 2005
  • Windows XP Media Center Edition 2004 SP3
  • SP3 de Windows XP Tablet PC Edition
  • SP3 de Windows XP Embedded
  • Windows XP Professional x64 SP3
  • Windows Embedded para el punto de servicio SP3
  • SP2 de Windows Server 2003, Standard Edition
  • SP2 de Windows Server 2003, Enterprise Edition
  • SP2 de Windows Server 2003, Datacenter Edition
  • Windows Server 2003 R2, Standard Edition
  • Windows Server 2003 R2, Enterprise Edition
  • Windows Server 2003 R2, Datacenter Edition
  • Windows Server 2003 x64, Standard Edition
  • Windows Server 2003 x64, Enterprise x64 Edition
  • Windows Server 2003 x64, Datacenter Edition
  • Windows Server 2003 R2 x64, Standard Edition
  • Windows Server 2003 R2 x64, Enterprise Edition
  • Windows Server 2003 R2 x64, Datacenter Edition
Dispositivos Windows Mobile
  • Windows CE 6,0
  • Windows CE 5,0
  • Windows CE 4,2
  • Windows Mobile 6,0
  • Windows Mobile 5,0
  • Windows Mobile 2003 para Pocket PC

Componentes adicionales

En esta sección se describen los archivos de Windows Installer (. msi) de SQL Server Compact 3,5 SP1. Algunos de estos archivos están disponibles para descargarlos desde el centro de descarga de Microsoft. Para descargar los componentes de SQL Server Compact 3,5 SP1, visite el siguiente sitio web de Microsoft:En la siguiente lista se describen los archivos adicionales de SQL Server Compact 3,5 SP1. msi.Nota En esta lista, el idioma del marcador de posición representa el idioma del producto de SQL Server Compact. Por ejemplo, para inglés, el marcador de posición representa ESNy, en japonés, el marcador de posición representa JPN.
  • Herramientas de diseño de SQL Server Compact 3,5 SP1 (SSCEVSTools-Language. msi) Este archivo instala los componentes de tiempo de diseño de SQL Server Compact junto con Visual Studio 2008 SP1. Los componentes de tiempo de diseño son la interfaz de usuario, los cuadros de diálogo y el entorno de tiempo de diseño. Se usan para escribir aplicaciones para SQL Server Compact. Los componentes de tiempo de diseño de SQL Server Compact se instalan en la siguiente carpeta:
    %ProgramFiles%\Microsoft Visual Studio 9 \ Common7\IDE
    Los archivos de ejemplo se instalan en la siguiente carpeta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Samples
    Estos componentes están vinculados a Visual Studio y no se pueden enviar independientemente de Visual Studio. Este archivo también instala los ejemplos de SQL Server Compact y los archivos de encabezado de SQL Server Compact (para el desarrollo nativo).
  • SQL Server Compact 3,5 SP1 (SSCERuntime-Language. msi) Este archivo instala los componentes de tiempo de ejecución de SQL Server Compact para equipos de escritorio. Instala estos componentes en la siguiente carpeta central:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5
    Estos componentes son necesarios para el desarrollo de aplicaciones en Visual Studio y para ejecutar aplicaciones basadas en SQL Server Compact en el escritorio. SSCERuntime-Language. msi también está disponible para descargar desde la Web. Este archivo también instala los componentes de Microsoft Synchronization Services for ADO.NET 1,0 SP1. Los componentes de Synchronization Services se instalan en la siguiente carpeta:
    %ProgramFiles%\Microsoft Synchronization Services\ADO.NET\v1.0
    Para obtener más información, vea servicios de sincronización de Microsoft para ADO.net Books online. Este recurso está disponible en el sitio web de Microsoft SQL Server.
  • SQL Server Compact 3,5 SP1 para dispositivos (SSCEDeviceRuntime-Language. msi) Este archivo instala los componentes de tiempo de ejecución de los dispositivos de SQL Server Compact en la siguiente carpeta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Devices
    Los componentes en tiempo de ejecución son necesarios para desarrollar aplicaciones basadas en dispositivos con Windows Mobile y Windows CE en Visual Studio y para implementar las aplicaciones en dispositivos móviles. SSCEDeviceRuntime-Language. msi también está disponible para su descarga en el sitio web de Microsoft SQL Server.
  • Herramientas de servidor de SQL Server Compact 3,5 SP1 (SSCEServerTools-Language. msi) Este archivo instala las herramientas de servidor de SQL Server Compact en la siguiente carpeta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\sync\SQL
    Los componentes son necesarios para conectar la base de datos de SQL Server Compact en un dispositivo móvil a una base de datos de SQL Server 2008 o SQL Server 2005. SSCEServerTools-Language. msi también está disponible para su descarga en el sitio web de Microsoft SQL Server.
  • Herramientas de consulta de SQL Server Compact 3,5 SP1 (SSCESqlWbTools-Language. msi) Este archivo instala los archivos de herramienta de consulta de SQL Server Compact en la siguiente carpeta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Tools
    Además, los archivos de ejemplo se instalan en la siguiente carpeta:
    %ProgramFiles%\Microsoft SQL Server Compact Edition\v3.5\Samples
    SSCESqlWbTools-Language. msi forma parte de la versión de SQL Server Compact 3,5 SP1. El archivo se instala como parte de SQL Server 2008. Nota A partir de SQL Server Compact 3,5 SP1, el componente de herramientas de consulta también está disponible cuando se instala SQL Server 2008.

Problemas conocidos de esta versión

Los problemas conocidos de SQL Server Compact 3,5 SP1 son los siguientes:
  • Integración de documentación (BOL) en la ayuda de Visual Studio y SQL Server Los libros en línea de SQL Server Compact 3,5 SP1 (BOL) y Microsoft Synchronization Services para ADO.NET están disponibles como descarga desde el centro de descarga de Microsoft. No se incluyen con Visual Studio 2008 SP1 ni con SQL Server 2008. Para obtener acceso a estas colecciones desde la documentación de Visual Studio 2008 SP1 o para SQL Server 2008 y para obtener acceso a la ayuda F1 de Visual Studio 2008 SP1 o de SQL Server 2008, agregue estas colecciones a la colección de ayuda combinada de Visual Studio y SQL Server. Para ello, descargue los libros en línea de SQL Server Compact 3,5 y los servicios de sincronización de Microsoft para ADO.NET. Después, cierre todas las instancias de la colección de ayuda combinada de Visual Studio/SQL Server, de Visual Studio 2008 y de SQL Server 2008. Cuando vuelva a abrir la colección de ayuda combinada de Visual Studio y SQL Server, los libros en línea de SQL Server Compact 3,5 SP1 y Microsoft Synchronization Services para ADO.NET Books online estarán disponibles en la tabla de contenido, el índice, la búsqueda y la ayuda F1 de las aplicaciones.
  • Soporte técnico de Windows Mobile El archivo de instalación de SQL Server Compact 3,5 SP1 para dispositivos no se instala junto con Visual Studio 2008 SP1. El archivo está disponible como una descarga web desde el centro de descarga de Microsoft.
  • Actualización de versiones preliminares No se admite la actualización a SQL Server Compact 3,5 o a SQL Server Compact 3,5 SP1 desde SQL Server Compact 3,5 las versiones beta de Technology Preview (CTP) o desde SQL Server Compact 3,5 beta. Se admite la actualización a SQL Server Compact 3,5 SP1 desde SQL Server Compact 3,5 o desde SQL Server Compact 3,5 SP1 beta. No se admite la actualización de las versiones CTP y beta de SQL Server Compact 3,5 a la versión de lanzamiento. Al desinstalar una versión CTP o beta de Visual Studio 2008 no se desinstala SQL Server Compact 3,5. Debe quitar las instalaciones de CTP o beta de SQL Server Compact 3,5 antes de instalar la versión de lanzamiento de Visual Studio 2008. Para ello, realice una de las siguientes acciones:
    • En Windows Vista, haga clic en Inicio, haga clic en Panel de controly, a continuación, haga doble clic en programas y características. Desinstale todas las instalaciones beta y CTP de las siguientes aplicaciones:
      • 3,5 de SQL Server Compact
      • SQL Server Compact 3,5 para dispositivos
      • Herramientas de diseño de SQL Server Compact 3,5
    • En Windows XP o en Windows Server 2003, haga clic en Inicio, haga clic en Panel de controly, a continuación, haga doble clic en Agregar o quitar programas. Desinstale todas las instalaciones beta y CTP de las siguientes aplicaciones:
      • 3,5 de SQL Server Compact
      • SQL Server Compact 3,5 para dispositivos
      • Herramientas de diseño de SQL Server Compact 3,5
  • SQL Server Compact 3,5 SP1 no se desinstala cuando se desinstala el Service Pack 1 de Visual Studio 2008 La desinstalación de Visual Studio 2008 SP1 no desinstala automáticamente las herramientas de diseño de SQL Server Compact 3,5 SP1 y SQL Server Compact 3,5 SP1. Si desea volver a la instalación de Visual Studio 2008, primero debe desinstalar manualmente las herramientas de diseño de SQL Server Compact 3,5 SP1 y SQL Server Compact 3,5 SP1. A continuación, debe usar los medios de instalación de Visual Studio 2008 para instalar las herramientas de diseño de SQL Server Compact 3,5 y SQL Server Compact 3,5. Los paquetes de Windows Installer para SQL Server Compact 3,5 y las herramientas de diseño de SQL Server Compact 3,5 se encuentran en la siguiente carpeta en los medios de instalación de Visual Studio 2008:
    WCU\SSCE
    El nombre de archivo del paquete de SQL Server Compact 3,5 es SSCERuntime-Language. msi. El nombre de archivo del paquete de herramientas de diseño de SQL Server Compact 3,5 es SSCEVSTools-Language. msi. Nota El idioma del marcador de posición representa el idioma del producto de SQL Server Compact.
  • Integración de SQL Server Management Studio 2008 Si selecciona la opción reparar al instalar sql Server 2008, las herramientas de consulta de SQL server Compact 3,5 SP1 y SQL server Compact 3,5 SP1 no se reinstalan automáticamente. Para resolver este problema, instale los archivos. msi de SQL Server Compact desde la carpeta siguiente en los medios de instalación de SQL Server:
    Servers\Setup
    El nombre de archivo del paquete de SQL Server Compact 3,5 SP1 es SSCERuntime-Language. msi. El nombre de archivo del paquete de herramientas de consulta de SQL Server Compact 3,5 SP1 es SSCESqlWbTools-Language. msi. Nota El idioma del marcador de posición representa el idioma del producto. Importante Si SQL Server Compact 3,5 SP1 no se instala al utilizar SQL Server 2008 Management Studio, recibirá el siguiente mensaje de error:
    No se puede cargar Microsoft SQL Server Compact. Instale los MSI de Microsoft SQL Server Compact desde la carpeta Servers\Setup en los medios de instalación de SQL Server. Para obtener más información, consulte el artículo 952218 de KB.
    Para resolver este problema, instale las herramientas de consulta de Microsoft SQL Server Compact 3,5 SP1 y Microsoft SQL Server Compact 3,5 SP1 desde los medios de instalación de SQL Server 2008 en la carpeta "Servers\Setup". Para obtener más información sobre este problema y cómo resolverlo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:  
    952218 Mensaje de error al intentar conectarse a SQL Server Compact 3,5 Service Pack 1 desde SQL Server Management Studio en SQL Server 2008: "no se puede cargar Microsoft SQL Server Compact"  
  • El archivo. msi de las herramientas de servidor de SQL Server Compact 3,5 SP1 (x86) no reconoce IIS cuando IIS está instalado en vista (x64) o en Windows 2008 Server para obtener más información sobre este problema y cómo resolverlo, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:  
    955966 Las herramientas de servidor de SQL Server Compact 3,5 Service Pack 1 no se instalan en el modo WOW al ejecutar IIS 7,0 en un equipo basado en Windows Server 2008 de 64 bits o en un equipo basado en Windows Vista de 64 bits  
  • Compatibilidad con versiones anteriores de Visual Studio para dispositivos Después de instalar el tiempo de ejecución de los dispositivos SQL Server Compact 3,5 SP1, cualquier proyecto de "Smart Device" que haga referencia al ensamblado System. Data. SqlServerCe. dll y creado mediante Visual Studio 2008 SP1 o Visual Studio 2008 no se puede abrir y retroceder. Este problema se produce porque las versiones de ensamblado del ensamblado System. Data. SqlServerCe. dll de SQL Server Compact 3,5 SP1 (3.5.1.0) y de SQL Server Compact 3,5 (3.5.0.0) son diferentes. Los escenarios posibles y sus resoluciones son los siguientes:
    • Para crear un proyecto de "Smart Device", use Visual Studio 2008 y asegúrese de que el proyecto hace referencia al ensamblado System. Data. SqlServerCe. dll. Después, instale Visual Studio 2008 SP1 y el tiempo de ejecución de dispositivos de SQL Server Compact 3,5 SP1. Cuando abre y genera el proyecto, recibe el siguiente mensaje de error:
      Esta operación requiere una referencia a SQL Server Compact 3,5. El proyecto tiene una referencia a otra versión. Actualice la referencia e inténtelo de nuevo.
      Este problema se produce porque la versión de System. Data. SqlServerCe. dll a la que se hace referencia en el proyecto difiere del archivo System. Data. SqlServerCe. dll que existe en el equipo. Para resolver este problema, siga estos pasos:
      1. En el menú vista , haga clic en Explorador de soluciones.
      2. Haga clic en referencias.
      3. Active la casilla de verificación System. Data. SqlServerCe y, a continuación, establezca la propiedad version específica en false en el cuadro de diálogo propiedades .
      Nota Esta resolución no requiere que actualice la versión de ensamblado del archivo System. Data. SqlServerCe. dll si lo vuelve a abrir con Visual Studio 2008 y Visual Studio 2008 SP1.
    • Instala Visual Studio 2008 y el tiempo de ejecución de un dispositivo de SQL Server Compact 3,5. Después, abre un proyecto "Smart Device" que se creó anteriormente en un equipo que ejecuta Visual Studio 2008 SP1 y tiempo de ejecución de dispositivos SQL Server Compact 3,5 SP1. Al compilar el proyecto, la aplicación se genera correctamente. Sin embargo, cuando intenta depurar la aplicación, recibe el siguiente mensaje de error:
      No se puede encontrar la DLL de PInvoke ' sqlceme35. dll '
      Este problema se produce porque el proyecto tiene una copia local de System. Data. SqlServerCe. dll con la versión 3.5.1.0. Pero los archivos nativos dependientes no están presentes en el equipo. Estos archivos incluyen Sqlceme35. dll. Para resolver este problema, siga estos pasos:
      1. En el menú vista , haga clic en Explorador de soluciones.
      2. Haga clic en referencias.
      3. Active la casilla de verificación System. Data. SqlServerCe y, a continuación, establezca la propiedad Copy local en false en el cuadro de diálogo propiedades .
      4. Quite el ensamblado System. Data. SqlServerCe. dll de la carpeta local del proyecto.
      5. Haga clic en referencias.
      6. Haga clic con el botón derecho en System. Data. SqlServerCey, después, haga clic en quitar.
      7. Haga clic en referencias.
      8. Haga clic con el botón secundario en el área referencias y, a continuación, haga clic en Agregar referencia.
      9. En el cuadro de diálogo Agregar referencia , haga clic en la pestaña .net .
      10. En la lista nombre de componente , active la casilla de verificación System. Data. SqlServerCe y, a continuación, haga clic en Aceptar.
  • Las restricciones predeterminadas se replican "tal cual". Las restricciones predeterminadas se replican "tal cual" cuando un artículo que contiene una columna de tipo Geometry se replica a un suscriptor que ejecuta SQL Server Compact. Para resolver este problema, realice una de las siguientes acciones:
    • No replicar restricciones predeterminadas. En su lugar, deshabilite la opción de esquema del artículo antes de que se replique el artículo en el suscriptor.
    • Quite la restricción predeterminada de la tabla antes de publicar.
    • Especifique el valor predeterminado como un literal en lugar de como una función geométrica.
  • La propiedad "Encrypt" de la clase "SqlCeConnection" no se utiliza SQL Server Compact 3,5 SP1 no usa la propiedad Encrypt de la clase SqlCeConnection . No se debe usar la propiedad Encrypt de la clase SqlCeConnection . Nota La propiedad Encrypt estará en desuso en una versión futura. La propiedad se conserva en SQL Server Compact 3,5 SP1 solo por compatibilidad con versiones anteriores. Use la propiedad Encryption Mode de la clase SqlCeConnection para cifrar los archivos de base de datos de SQL Server Compact 3,5 SP1. En los siguientes ejemplos se muestra cómo crear una nueva base de datos cifrada de SQL Server Compact 3,5 SP1. C#
    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");engine.CreateDatabase();
    Visual Basic
    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")engine.CreateDatabase()
  • Una aplicación ClickOnce se debe volver a publicar después de actualizar a Visual Studio 2008 Cuando actualiza de Visual Studio 2005 a Visual Studio 2008, una base de datos cifrada de SQL Server Compact no se actualiza y las aplicaciones ClickOnce deben volver a publicarse. Los archivos de base de datos (*. sdf) creados con versiones anteriores de SQL Server Compact son incompatibles con SQL Server Compact 3,5 SP1. Solo se actualizan los archivos de base de datos sin cifrar de versiones anteriores de SQL Server Compact cuando un proyecto de Visual Studio 2005 se actualiza a Visual Studio 2008. Los archivos de base de datos cifrados deben actualizarse manualmente. Si el proyecto de Visual Studio 2005 usa ClickOnce para publicar aplicaciones, la aplicación debe volver a publicarse una vez actualizado el proyecto en Visual Studio 2008. Para actualizar manualmente los archivos de base de datos cifrados, siga estos pasos:
    1. Haga clic en datos.
    2. Haga clic en Agregar nuevo origen de datos.
    3. Haga clic en Agregar conexión.
    Si abre una versión anterior del archivo de base de datos, recibirá un mensaje. Si hace clic en Aceptar en el mensaje, aparece el cuadro de diálogo actualizar a base de datos de SQL Server Compact 3,5 . O bien, puede usar la API SqlCeEngine. Upgrade para escenarios de programación. Por ejemplo, puede usar código similar a los siguientes ejemplos de código. C#
    SqlCeEngine engine = new SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;");engine.Upgrade ("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;");
    Visual Basic
    Dim engine As SqlCeEngine = New SqlCeEngine("Data Source=Northwind.sdf;Password=<enterStrongPasswordHere>;")engine.Upgrade("Data Source=Northwind.sdf;encryption mode=platform default;Password=<enterStrongPasswordHere>;")
    Si el proyecto usa ClickOnce para publicar aplicaciones, la aplicación se debe volver a publicar después de que se actualice la aplicación en Visual Studio 2008. Cuando vuelva a publicar la aplicación ClickOnce en Visual Studio 2008, es posible que vea el siguiente mensaje de ADVERTENCIA:
    No se pudo encontrar el requisito previo de SQL Server 2005 Compact Edition para el bootstrap
    El mensaje de advertencia puede ignorarse con seguridad.
  • Los tipos de datos de SQL Server Compact 3,5 SP1 para parámetros como SqlDbType y dbType deberían establecerse de forma explícita. Si los tipos de datos de parámetros como SqlDbType y dbType no se establecen explícitamente, un motor de base de datos puede intentar adivinar el tipo de datos más adecuado para ese parámetro. Esta estimación puede no ser correcta, especialmente en el caso de los tipos de datos binarios y de cadena que no tienen una longitud fija (incluidos los objetos grandes), como nvarchar, ntext, varbinarye Image. En estos casos, se puede iniciar un mensaje de error de excepción. Para resolver este problema, le recomendamos encarecidamente que especifique los tipos de datos de los parámetros de los tipos de datos binarios y de cadena que no tienen una longitud fija. Por ejemplo, puede usar código similar a los siguientes ejemplos de código. C#
    SqlCeEngine engine = new SqlCeEngine(connString);engine.CreateDatabase();engine.Dispose();SqlCeConnection conn = new SqlCeConnection(connString);conn.Open();SqlCeCommand cmd = conn.CreateCommand();cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);";cmd.ExecuteNonQuery();cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);";SqlCeParameter paramName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128);SqlCeParameter paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText);paramName.Value = "Name1";paramBlob.Value = "Name1".PadLeft(4001);cmd.ExecuteNonQuery();
    Visual Basic
    Dim engine As SqlCeEngine = New SqlCeEngine(connString)engine.CreateDatabase()engine.Dispose()Dim conn As SqlCeConnection = New SqlCeConnection(connString)conn.Open()Dim cmd As SqlCeCommand = conn.CreateCommand()cmd.CommandText = "CREATE TABLE BlobTable(nameCol nvarchar(128), blobCol ntext);"cmd.ExecuteNonQuery() cmd.CommandText = "INSERT INTO BlobTable(nameCol, blobCol) VALUES (@nameParam, @blobParam);"Dim paramName As SqlCeParameterDim paramBlob As SqlCeParameterparamName = cmd.Parameters.Add("nameParam", SqlDbType.NVarChar, 128)paramBlob = cmd.Parameters.Add("blobParam", SqlDbType.NText)paramName.Value = "Name1"paramBlob.Value = "Name1".PadLeft(4001)cmd.ExecuteNonQuery()
  • La compatibilidad con el formato de archivo de base de datos está restringida en algunos casos Los archivos de base de datos de SQL Server Compact 3,5 SP1 (. sdf) se pueden abrir en SQL Server Compact 3,5 y en SQL Server Compact 3,5 SP1. Sin embargo, en algunos casos, la compatibilidad con el formato de archivo de base de datos puede estar restringida. Por ejemplo, la compatibilidad con el formato de archivo de la base de datos puede estar restringida en los siguientes escenarios:
    • Una base de datos con distinción de mayúsculas y minúsculas creada en SQL Server Compact 3,5 SP1 no se puede abrir ni reconocer en SQL Server Compact 3,5. Tenga en cuenta que las intercalaciones con distinción de mayúsculas y minúsculas se presentan a partir de SQL Server Compact 3,5 SP1.
    • El motor en tiempo de ejecución de SQL Server Compact 3,5 y el motor de tiempo de ejecución de SQL Server Compact 3,5 no pueden abrir el mismo archivo de base de datos al mismo tiempo.
  • Una consulta que contiene un tipo de combinación externa izquierda con una constante como operando izquierdo no devuelve los resultados correctos. Cuando se ejecuta una consulta que incluye un tipo de combinación externa izquierda con una constante como operando izquierdo, no se devuelven resultados correctos. Este problema se produce porque SQL Server Compact no evalúa correctamente dichas consultas. A continuación se es un ejemplo de una consulta de este tipo:
    SELECT * FROM table1 LEFT OUTER JOIN table2 ON 1 = table1.column1
    La siguiente consulta de LINQ to Entities también incluye un valor constante como la función selector de claves en el método GroupBy . Esta consulta se convierte internamente en una combinación externa izquierda con una constante como un operando izquierdo y devuelve un valor incorrecto. C#
    using (NorthwindEntities nwEntities = new NorthwindEntities()){   var customers = nwEntities.Customers                   .GroupBy( c => 1, c => c.Customer_ID)                   .Select( c => c);}
  • SQL Server Compact 3,5 SP1 problemas de tiempo de ejecución para ADO.NET Entity Framework
    • Las subconsultas correlacionadas que se convierten en subconsultas escalares internamente no son compatibles con esta versión. Para estas subconsultas, recibe el siguiente mensaje de error:
      Error al ejecutar la definición de comando. Para obtener más información, consulta la excepción interna. La excepción interna contiene el mensaje siguiente: error al analizar la consulta. [.., Símbolo (token) = AS]
      Este problema se produce porque Entity Framework interpreta la consulta de entrada como una consulta con el tipo de combinación aplicación cruzada o aplicación externa. Si el lado derecho de la condición de combinación devuelve un valor escalar, la combinación se convierte en una subconsulta escalar. El proveedor de Entity Framework para SQL Server Compact tiene que convertir la subconsulta escalar a una consulta equivalente con el tipo de combinación de aplicar OUTER que SQL Server Compact admita. Sin embargo, en esta versión, esta conversión no se realiza correctamente. Por ejemplo, la siguiente consulta producirá un mensaje de error en esta versión: C#
      using (NorthwindEntities nwEntities = new NorthwindEntities()){    var orders = nwEntities.Employees                .Select(employee => employee.Orders.Max(order => order.Order_ID));    foreach (var order in orders)    {       Console.WriteLine(order.ToString());    }}
      • Se produce una excepción de infracción de acceso al ejecutar una consulta de Entity Framework Si la consulta principal y la subconsulta incluyen una palabra clave DISTINCt y se indica una condición de combinación con una cláusula de combinación externa. Por ejemplo, la siguiente consulta creará una infracción de acceso:
        SELECT DISTINCT [o].[CustomerID]FROM (SELECT DISTINCT * FROM [Orders]) AS [o]LEFT OUTER JOIN [Customers] AS [c] ON [o].[CustomerID] = [c].[CustomerID]

Lista de problemas corregidos

Este Service Pack corrige los siguientes problemas:
  • 923979 Mensaje de error cuando intenta insertar una fila o realizar otras operaciones de base de datos en una base de datos de SQL Server 2005 Mobile Edition: "página incorrecta posibles daños de la base de datos"
  • 933463 Las aplicaciones administradas que usan SQL Server 2005 Mobile Edition se pueden detener de forma inesperada si cambia la ubicación de los archivos dll de SQL Mobile
  • 934386 No puede usar SQL Server 2005 Compact Edition en un dispositivo basado en ARMV4i que ejecute Windows CE .NET 4,2
  • 935769 Mensaje de error al actualizar una base de datos de SQL Server 2000 Windows CE Edition 2,0 a SQL Server 2005 Mobile Edition: "el archivo de base de datos es mayor que el tamaño máximo de base de datos configurado"
  • 936487 Las aplicaciones administradas que usan SQL Server 2005 Compact Edition 3,1 pueden detenerse de forma inesperada en dispositivos compatibles con Windows Mobile 5,0, si se producen cambios en la ubicación de los archivos dll de SQL Server Compact Edition
  • 938786 aplicación de dispositivo basada en .NET Compact Framework 2,0 que llama al método SqlCeEngine. verify en una base de datos de SQL Server 2005 Compact Edition deja de responder
  • 947002 Mensaje de error cuando intenta eliminar las filas de la tabla en SQL Server 2005 Compact Edition o en SQL Server Compact 3,5: "error grave 0x80004005, error menor 0. Intento de dividir por cero "
  • 950440 Parece que la aplicación deja de responder cuando una aplicación ejecuta una consulta grande que tiene parámetros en predicados en SQL Server 2005 Compact Edition
  • 951932 Mensaje de error al crear una suscripción en SQL Server 2005 Compact Edition a una publicación de mezcla en SQL Server 2000: "el nombre de la tabla no es válido. [Número de línea de token (si se conoce) = 1, desplazamiento de línea de token (si se sabe) = 22, nombre de tabla = <NombreTabla>] "
  • 953259 Mensaje de error al ejecutar una instrucción SQL que usa la función CHARINDEX en una base de datos que usa la configuración regional Checa en SQL Server 2005 Compact Edition: "la función no es reconocida por SQL Server Compact Edition"
Este Service Pack corrige los siguientes problemas que no se habían documentado previamente en un artículo de Microsoft Knowledge Base:SQL Server Compact 3,5 SP1
  • Durante la duplicación de mezcla de datos de SQL Server 2005 a SQL Server Compact 3,5, es posible que se creen instrucciones erróneas de Transact-SQL. Además, los cambios de datos no se aplican a SQL Server Compact. Por ejemplo, este problema puede producirse cuando se crea una instrucción Transact-SQL incorrecta como la siguiente:
    not null default n e w i d ( )
    Puede esperar que se cree una instrucción Transact-SQL como la siguiente:
    not null default newid()
  • Experimenta un rendimiento más lento de las consultas en SQL Server Compact 3,5 en comparación con SQL Server 2005 Compact Edition. Este problema se debe a diferentes planes de consultas. Si ejecuta el código siguiente, se genera un plan de consulta incorrecto en SQL Server Compact 3,5 y se usa el examen de tabla en lugar del recorrido de índice:
    cmd.CommandText = @"select * from  Customers where Customers.Customer_ID = @v0";cmd.Parameters.Add("@v0", SqlDbType.NVarChar);rdr = cmd.ExecuteReader();
  • Un parámetro TransactionScope se confirma independientemente de si se llama a TS. Complete. Por ejemplo, este problema se produce cuando se usa un DataContext de LINQ to SQL, como en el siguiente código de ejemplo con SQL Server Compact 3,5:
    using System;using System.Data.Linq;using System.Transactions;namespace bug{    class Program    {        static void Main(string[] args)        {            DataContext ctx = new DataContext("Test.sdf");            using (TransactionScope ts = new TransactionScope())            {                ctx.ExecuteCommand("INSERT INTO x (y) VALUES (2)");            }        }    }
  • Al usar SQL Server Compact junto con ADO.Net Entity Framework, los valores mayores de 8.000 bytes no se pueden insertar en una tabla de SQL Server Compact que contiene columnas de objetos binarios grandes.
  • Si un índice está obsoleto, se produce un error en Update Statistics cuando la conexión a SQL Server Compact 3,5 se abre en modo de solo lectura.
  • Recibe un mensaje de error de infracción de acceso en el proceso GetColumnRowSet para los conjuntos de resultados desplazables. Además, el proceso OpenSharedMemory no restablece el objeto perror cuando se produce un error en la creación de memoria compartida en un espacio de nombres global .
  • La eliminación de un objeto de comando después de un proceso de conexión puede iniciar un mensaje de error de excepción. Este problema puede producirse cuando se ejecuta el siguiente código:
    SqlCeConnection cn;SqlCeCommand cmd;... cn.Dispose();cmd.Dispose(); 
  • Se genera un mensaje de error de infracción de acceso cuando una instrucción Select no devuelve todas las columnas ordenadas por el parámetro Agrupar por y por el parámetro ordenar por . Por ejemplo, este problema puede ocurrir con la siguiente instrucción SELECT:
    SELECT        [Company Name], [Contact Name]FROM            CustomersGROUP BY [Customer ID], [Company Name], [Contact Name]ORDER BY [Customer ID], [Company Name], [Contact Name]
  • La eliminación en cascada no funciona correctamente si solo hay un elemento en la tabla y se usa una condición AND en una cláusula WHERE. Usar "no" con "o" funciona correctamente. Por ejemplo, la siguiente consulta no funciona correctamente:
    Select from table where (a=x AND b=y)
  • Un valor nulo en la lista de selección puede provocar de forma intermitente un mensaje de error de excepción nativa en el proceso de ExecuteReader . La clase SqlCeException no detecta la excepción y recibe el siguiente mensaje de error de excepción nativa:
    Se produjo una excepción nativa en SqlMobileCrash. exe. Seleccione salir y, a continuación, reinicie este programa o seleccione detalles para obtener más información. Código de excepción: dirección 0xc0000005Exception: 0x00d1aa68Reading: 0x0027f0000
  • El parámetro nombre de tabla se trata con distinción entre mayúsculas y minúsculas cuando se usa el comando set IDENTITY_INSERT . Este problema se produce porque los metadatos siempre deben distinguir entre mayúsculas y minúsculas.
  • Se produce un error en las inserciones de las columnas del tipo float si se usa el objeto IDbCommand . Por ejemplo, este problema se produce con el siguiente código:
    try            {                string ConnectionString = "Data Source='Northwind.sdf'";                IDbConnection conn = new SqlCeConnection(ConnectionString);                IDbCommand cmd = conn.CreateCommand();                cmd.CommandText = "insert into \"newtable\"(\"t1\")values(@p0)";                conn.Open();                IDbDataParameter p;                p = cmd.CreateParameter();                p.Value = 7.6M;                p.ParameterName = "@p0";                cmd.Parameters.Add(p);                IDbTransaction t = cmd.Connection.BeginTransaction();                cmd.Transaction = t;                cmd.Prepare();                cmd.ExecuteNonQuery();                p.Value = 10M;                cmd.ExecuteNonQuery(); // Exception is thrown here                t.Commit();            }            catch (Exception ex)            {             }
  • El comando SqlCeResultSet. GetEnumerator genera un mensaje de error StackOverflowException y el comando SqlCeDataReader. GetEnumerator produce un mensaje de error NotSupportedException cuando se ejecuta el siguiente código:
    SqlCeConnection conn = new SqlCeConnection(@"Data Source=Northwind.sdf");conn.Open();SqlCeCommand cmd = conn.CreateCommand();cmd.CommandText = "Select * from categories";SqlCeResultSet res = cmd.ExecuteResultSet(ResultSetOptions.Scrollable | ResultSetOptions.Updatable | ResultSetOptions.Sensitive);IEnumerator e= res.GetEnumerator(); // Exception is thrown here.conn.Close();
  • Cuando una llamada RAPI simula un escenario System. Web (ASP.NET), SQL Server Compact puede producir un mensaje de error de excepción de referencia nula.
3,5 de SQL Server Compact
  • Las inicializaciones de combinación no pueden ejecutar una instrucción ALTER TABLE para la restricción de índice de clave principal si se ejecuta un plan de mantenimiento para volver a generar el índice. Se produce un error en la inicialización de la combinación y recibe el siguiente mensaje de error:
    El nombre de la tabla no es válido. [Número de línea de token (si se conoce) = 1, desplazamiento de línea de token (si se sabe) = 21, nombre de tabla = categorías] HRESULT 0x80040E14 (26100). No se pudo ejecutar la instrucción SQL. [Instrucción SQL = ALTER TABLE [dbo]. Categorías Agregar restricción [PK_Categories] clave principal AGRUPAda ([CategoryID]) con PAD_INDEX, FILLFACTOR = 85] HRESULT 0x80040E14 (28560)
  • Si un Pocket PC basado en Windows Mobile 2003 ejecuta varios subprocesos y procesos para tener acceso a la misma base de datos, la aplicación puede salir con un mensaje de error aleatorio.
  • En Microsoft Visual Studio 2008, no se puede establecer una conexión de base de datos a una base de datos de SQL Server Compact. Este problema se produce si la base de datos tiene más de 256 megabytes (MB).
  • Los siguientes binarios nativos de SQL Server Compact ahora están firmados por Microsoft.Archivos global. dll
    • Sqlcese35.dll
    • Sqlcecompact35.dll
    • Sqlceqp35.dll
    • Sqlceoledb35.dll
    • Sqlceme35.dll
    • Sqlceca35.dll
    • Sqlcesa35.dll
    • Sqlcerp35.dll
    Archivos. dll específicos del idioma
    • Sqlceer35br.dll
    • Sqlceer35cn.dll
    • Sqlceer35cs.dll
    • Sqlceer35da.dll
    • Sqlceer35de.dll
    • Sqlceer35el.dll
    • Sqlceer35en.dll
    • Sqlceer35es.dll
    • Sqlceer35fi.dll
    • Sqlceer35fr.dll
    • Sqlceer35it.dll
    • Sqlceer35ja.dll
    • Sqlceer35ko.dll
    • Sqlceer35nl.dll
    • Sqlceer35no.dll
    • Sqlceer35pl.dll
    • Sqlceer35ps.dll
    • Sqlceer35pt.dll
    • Sqlceer35ru.dll
    • Sqlceer35sv.dll
    • Sqlceer35tw.dll
  • Se produce un mensaje de error de excepción de infracción de acceso cuando una consulta tiene varios predicados o, como en el siguiente ejemplo de código:
    create table t1 (c1 int);create index t1_idx on t1(c1);insert into t1 values (1);insert into t1 values (2);insert into t1 values (3);create table t2 (col1 int, col2 int);insert into t2 values (2,3);insert into t2 values (1,3);insert into t2 values (3,3);select * from t1,t2 where c1 = col1 or c1 = col2 or c1 = 1;
  • Ejecuta un equipo basado en Windows XP que usa un sistema de archivos FAT32. Si se obtiene acceso a una base de datos de SQL Server Compact al mismo tiempo mediante un servicio de Windows y una aplicación, la aplicación se bloquea.
  • El método compacto de SqlCeEngine establece el valor Autoinc_Next incorrectamente cuando se elimina el valor máximo asignado de un intervalo asignado. Si se elimina el valor máximo asignado, el valor de Autoinc_Next se establecerá en un valor 1 mayor que el valor máximo actual que se usa en un artículo determinado dentro de su rango.
  • Pueden producirse resultados inesperados cuando se tiene acceso a los registros que contienen caracteres especiales en una instrucción TableDirectIndexSearch y en una instrucción Select .
  • El diseñador de consultas de Microsoft Visual Studio 2005 agrega corchetes para las funciones de fecha.
  • Durante una replicación de mezcla de datos entre SQL Server y SQL Server Compact, recibe el siguiente mensaje de error:
    El administrador de bloqueos se ha quedado sin espacio para otros bloqueos. Esto puede deberse a transacciones grandes, a operaciones de ordenación grandes o a operaciones en las que SQL Server Compact Edition crea tablas temporales. No puede aumentar el espacio de bloqueo.
  • El mensaje de error FormatException se produce cuando se concatena una cadena con el parámetro de tipo cadena. Por ejemplo, este problema se produce al ejecutar el código siguiente:
    SqlCeConnection con = new SqlCeConnection("Test.sdf"); SqlCeCommand cmd = con.CreateCommand();cmd.CommandText = "select firstname + ' ' + lastname from person";bool i = cmd.ExecuteReader().Read();cmd.CommandText = "select firstname + @p0 + lastname from person";cmd.Parameters.Add("@p0", " ");i = cmd.ExecuteReader().Read();
  • Los nombres de parámetro duplicados no están habilitados.
  • Si se produce una secuencia "Delete", "Read", "ReadPrevious" al usar una instrucción Select que contiene una cláusula ORDER BY, se producirá un mensaje de error de excepción.
  • No se permiten instrucciones SELECT DISTINCt * cuando se usa una cláusula ORDER BY.
  • Cuando se especifica un nombre de restricción, no se puede Agregar una columna a una tabla rellenada existente que contenga valores no NULOs y valores predeterminados. Por ejemplo, este problema se produce al ejecutar el código siguiente:
    ALTER TABLE Categories ADD COLUMN bitcol1 bit NOT NULL CONSTRAINT MyConstraint DEFAULT (1);
  • Al ejecutar la consulta siguiente, se selecciona un índice incorrecto:
    SELECT store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, max(last_reorder_date) last_reorder_date, reorder_point, last_order_qty, sys_line_flag, stock_status, max(last_ship_date) last_ship_date, max(last_scan_date) last_scan_date, max(back_order_status) back_order_status, max(unit_last_scan_date) unit_last_scan_date, max(revision_target) revision_target FROM tbl_master_chart WHERE store_uid = 22359 and stock_price = '0399' and stock_class = 'EGB' and stock_number = '4759' GROUP BY store_uid, stock_price, stock_class, stock_number, ticket_number, pocket, reorder_point, last_order_qty, sys_line_flag, stock_status ORDER BY sys_line_flag DESC, ticket_number
  • Si utiliza el procedimiento ReadAbsolute (entero negativo) para recuperar el valor de GetString de una fila, recibirá el siguiente mensaje de error de excepción:
    No hay datos para la fila o columna