Trabalhando com agrupamentos (SQL Server Compact)
Os agrupamentos especificam as regras de como os dados de uma cadeia de caracteres são classificados e comparados, com base nas normas de determinados idiomas e localidades.
O dá suporte para agrupamentos do Windows. Para obter uma lista dos agrupamentos do Windows suportados no , consulte o Agrupamentos suportados (SQL Server Compact).
O SQL Server Compact 3.5 Service Pack 1 (SP1) permite definir agrupamentos no nível de banco de dados. Em outras palavras, todas as colunas de cadeia de caracteres (colunas de tipos de dados, nchar, nvarchar e ntext) em tabelas de usuário no banco de dados têm as mesmas configurações de diferenciação de maiúsculas e minúsculas conforme especificado no nível de banco de dados. Além disso, os índices em colunas de cadeia de caracteres têm as mesmas configurações de diferenciação de maiúsculas e minúsculas que as especificadas no nível de banco de dados.
Não é feita a diferenciação de maiúsculas e minúsculas em nomes de objeto, como nomes de tabela, palavras-chave de idioma, funções e exibições, em um banco de dados do , mesmo se o agrupamento diferenciar maiúsculas de minúsculas. Esse recurso não é consistente com o SQL Server, mas esse comportamento é consistente com o padrão SQL que especifica que o agrupamento de um banco de dados é usado apenas para fins de comparação de dados de usuário.
Conectando a um banco de dados que diferencia maiúsculas de minúsculas
Você pode estabelecer conexão com qualquer banco de dados do SQL Server Compact que diferencia maiúsculas de minúsculas, da mesma forma que faria com qualquer outro banco de dados do SQL Server Compact.
A versão SP1 do SQL Server Compact 3.5 dá suporte a uma nova propriedade de cadeia de conexão Boolean, "Case Sensitive" ou "SSCE:Case Sensitive", a fim de determinar se o agrupamento de banco de dados fará ou não a diferenciação de maiúsculas e minúsculas. Se você tentar se conectar a um banco de dados existente do com a propriedade "Case Sensitive" na cadeia de conexão, o SQL Server Compact 3.5 SP1 irá ignorar essa definição. Em outras palavras, a propriedade "Case Sensitive" é uma opção do momento da criação do banco de dados e é ignorada durante a conexão a um banco de dados existente. Caso você não especifique essa propriedade ao criar um banco de dados, por padrão, será criado um banco de dados que não faz a diferenciação de maiúsculas e minúsculas.
A propriedade "Case Sensitive" é um novo recurso do SQL Server Compact 3.5 SP1 e não tem suporte nas versões anteriores.
Criando bancos de dados que diferenciam maiúsculas de minúsculas
A versão SP1 do SQL Server Compact 3.5 só permite especificar agrupamentos que diferenciam maiúsculas de minúsculas em novos bancos de dados por meio de chamadas de API.
Você pode usar um nova propriedade de cadeia de conexão Boolean, "Case Sensitive" ou "SSCE:Case Sensitive", a fim de determinar se o agrupamento do banco de dados fará ou não a diferenciação de maiúsculas e minúsculas. De modo semelhante, uma nova propriedade DBPROP_SSCE_DBCASESENSITIVE como parte do conjunto de propriedades DBPROPSET_SSCE_DBINIT determina se o agrupamento do banco de dados fará ou não a diferenciação de maiúsculas e minúsculas.
Quando você define "Case Sensitive" como true, os índices nas colunas de cadeias de caracteres são recriados no banco de dados.
Outra forma de especificar um agrupamento para um novo banco de dados é usar a cláusula COLLATE (SQL Server Compact) da instrução CREATE DATABASE (SQL Server Compact). Nesse caso, a opção CI (case-insensitive) é a única opção.
Importante
Se você criar um banco de dados com um agrupamento que diferencia maiúsculas de minúsculas, esse banco de dados não poderá ser aberto por nenhuma versão anterior do , inclusive SQL Server Compact 3.5.
Replicação de mesclagem e agrupamentos que diferenciam maiúsculas de minúsculas
Os publicadores do SQL Server e os assinantes do dão suporte à replicação de mesclagem independentemente das configurações de diferenciação de maiúsculas e minúsculas. A fim de dar suporte às versões anteriores, nenhum cenário é bloqueado explicitamente.
A versão SP1 do SQL Server Compact 3.5 permite a replicação de bancos de dados do que diferenciam maiúsculas de minúsculas em bancos de dados de servidor que diferenciam e não diferenciam maiúsculas de minúsculas. A seguinte tabela descreve todos os cenários possíveis:
Banco de dados cliente do SQL Server Compact que diferencia maiúsculas de minúsculas | Banco de dados do SQL Server que diferencia maiúsculas de minúsculas | Com suporte |
---|---|---|
CI (case-insensitive) |
CI |
Sim |
CI |
CS (case-sensitive) |
Sim |
CS |
CS |
Sim |
CS |
CI |
Sim |
Para obter mais informações sobre a replicação de mesclagem, consulte Usando a replicação de mesclagem. Para obter mais informações sobre como criar um banco de dados que diferencia maiúsculas de minúsculas usando o objeto Replication, consulte Como criar um banco de dados usando o objeto Replication (programaticamente).
Consulte também
Conceitos
Considerações internacionais (SQL Server Compact)