Trabajar con intercalaciones (SQL Server Compact)

Las intercalaciones especifican las reglas que determinan la forma en que las cadenas de caracteres se ordenan y comparan en función de las normas de cada idioma y configuración regional.

SQL Server Compact proporciona compatibilidad con las intercalaciones de Windows. Para ver una lista de los nombres de intercalaciones de Windows admitidas en SQL Server Compact, vea Intercalaciones admitidas (SQL Server Compact).

SQL Server Compact 3.5 Service Pack 1 (SP1) permite establecer las intercalaciones en el nivel de base de datos. En otras palabras, todas las columnas de cadena (columnas de tipos de datos, nchar, nvarchar y ntext) de las tablas de usuario de la base de datos tienen la misma configuración de la distinción de mayúsculas y minúsculas tal y como se especifica en el nivel de base de datos. Además, los índices de las columnas de cadena tienen la misma configuración de distinción de mayúsculas y minúsculas que se especifica en el nivel de base de datos.

Los nombres de objeto, como los nombres de tabla, las palabras clave del lenguaje, las funciones y las vistas, no se tratan como si distinguieran mayúsculas y minúsculas en una base de datos de SQL Server Compact, aun cuando la intercalación distinga mayúsculas y minúsculas. Esta característica no es coherente con SQL Server, pero este comportamiento es coherente con el estándar SQL que especifica que la intercalación de una base de datos sólo se utiliza para las comparaciones de datos de usuario.

Conectar con bases de datos con distinción de mayúsculas y minúsculas

Puede conectarse a cualquier base de datos de SQL Server Compact con distinción de mayúsculas y minúsculas igual que se conecta a cualquier otra base de datos de SQL Server Compact.

La versión Service Pack 1 de SQL Server Compact 3.5 proporciona compatibilidad con una nueva propiedad de cadena de conexión Boolean, "Case Sensitive" o "SSCE:Case Sensitive", para determinar si la intercalación de bases de datos distingue mayúsculas y minúsculas o no. Si intenta conectarse a una base de datos existente de SQL Server Compact con una propiedad "Case Sensitive" en la cadena de conexión, SQL Server Compact 3.5 SP1 omite este valor. En otras palabras, esta propiedad es una opción en el momento de la creación de la base de datos y se omite en la conexión a una base de datos existente. Si no especifica la distinción de mayúsculas y minúsculas al crear una base de datos, de forma predeterminada se crea una base de datos sin distinción de mayúsculas y minúsculas.

La propiedad Case Sensitive es una característica nueva de SQL Server Compact 3.5 SP1 y no se admite en ninguna de las versiones anteriores.

Crear bases de datos con distinción de mayúsculas y minúsculas

La versión SP1 de SQL Server Compact 3.5 permite especificar intercalaciones con distinción de mayúsculas y minúsculas para las nuevas bases de datos sólo a través de llamadas a API.

Puede usar la propiedad de la cadena de conexión Boolean, "Case Sensitive" o "SSCE:Case Sensitive", para determinar si la intercalación de bases de datos distingue mayúsculas y minúsculas o no. De igual forma, una nueva propiedad DBPROP_SSCE_DBCASESENSITIVE como parte del conjunto de propiedades DBPROPSET_SSCE_DBINIT determina si la intercalación de bases de datos distingue o no mayúsculas de minúsculas.

Al establecer la propiedad en true, los índices de las columnas de cadena se vuelven a generar en la base de datos.

Otra manera de especificar una intercalación para una base de datos nueva es utilizar la cláusula COLLATE (SQL Server Compact) de la instrucción CREATE DATABASE (SQL Server Compact). En este caso, la opción sin distinción de mayúsculas y minúsculas (CI) es la única opción.

Importante

Si crea una base de datos con una intercalación con distinción de mayúsculas y minúsculas, ninguna versión de SQL Server Compact anterior, incluida SQL Server Compact 3.5, puede abrir esa base de datos.

Replicación de mezcla e intercalaciones con distinción de mayúsculas y minúsculas

Los publicadores de SQL Server y los suscriptores de SQL Server Compact admiten la replicación de mezcla con independencia de la configuración de la distinción de mayúsculas y minúsculas. Para admitir la compatibilidad con las versiones anteriores, no se ha bloqueado explícitamente ningún escenario.

La versión SP1 de SQL Server Compact 3.5 admite la replicación de las bases de datos de SQL Server Compact con distinción de mayúsculas y minúsculas con las bases de datos de servidor tanto con distinción de mayúsculas y minúsculas como sin distinción. En la tabla siguiente se describen todos los escenarios posibles:

Distinción de mayúsculas y minúsculas de base de datos cliente de SQL Server Compact Distinción de mayúsculas y minúsculas de base de datos de SQL Server Se admite

CI (no distinguir mayúsculas de minúsculas)

CI

CI

CS (distinguir mayúsculas de minúsculas)

CS

CS

CS

CI

Para obtener más información acerca de la replicación de mezcla, vea Usar la replicación de mezcla. Para obtener más información sobre cómo crear una base de datos con distinción de mayúsculas y minúsculas utilizando el objeto Replication, vea Cómo crear una base de datos con el objeto Replication (mediante programación).

Vea también

Conceptos

Consideraciones internacionales (SQL Server Compact)

Ayuda e información

Obtener ayuda (SQL Server Compact 3.5 Service Pack 1)