Condividi tramite


Utilizzo delle regole di confronto (SQL Server Compact)

Le regole di confronto specificano le modalità di ordinamento e di confronto delle stringhe di caratteri in base alle norme di lingue e impostazioni locali specifiche.

In SQL Server Compact è disponibile il supporto per le regole di confronto di Windows. Per un elenco di nomi di regole di confronto di Windows supportati in SQL Server Compact, vedere Regole di confronto supportate (SQL Server Compact).

In SQL Server Compact 3.5 Service Pack 1 (SP1) è supportata l'impostazione delle regole di confronto a livello di database. Questo significa che in tutte le colonne stringa (colonne di tipi di dati, nchar, nvarchar e ntext) presenti nelle tabelle utente del database l'impostazione relativa alla distinzione tra maiuscole e minuscole corrisponde a quella specificata a livello di database. Tale impostazione viene applicata inoltre agli indici sulle colonne stringa.

In un database di SQL Server Compact ai nomi degli oggetti, ad esempio i nomi delle tabelle, le parole chiave del linguaggio, le funzioni e le viste, non viene applicata la distinzione tra maiuscole e minuscole, anche se le regole di confronto rispettano tale distinzione. Sebbene questa funzionalità non sia coerente con SQL Server, tale comportamento corrisponde allo standard SQL in base al quale le regole di confronto di un database vengono utilizzate solo per confrontare i dati utente.

Connessione a database con distinzione tra maiuscole e minuscole

La connessione a qualsiasi database di SQL Server Compact con distinzione tra maiuscole e minuscole può essere eseguita in modo analogo a quella di qualsiasi altro database di SQL Server Compact.

Nella versione SP1 di SQL Server Compact 3.5 è disponibile il supporto per una nuova proprietà della stringa di connessione di tipo Boolean, ovvero "Case Sensitive" o "SSCE:Case Sensitive", che consente di determinare se le regole di confronto del database rispettano la distinzione tra maiuscole e minuscole. Se si tenta di stabilire una connessione a un database di SQL Server Compact esistente con la proprietà "Case Sensitive" nella stringa di connessione, in SQL Server Compact 3.5 SP1 tale impostazione viene ignorata. In altri termini, la proprietà "Case Sensitive" rappresenta un'opzione specificata al momento della creazione del database e viene ignorata in caso di connessione a un database esistente. Se la distinzione tra maiuscole e minuscole non viene specificata durante la creazione del database, per impostazione predefinita viene creato un database che non rispetta tale distinzione.

La proprietà Case Sensitive è una nuova funzionalità in SQL Server Compact 3.5 SP1 e non è supportata in alcuna versione precedente.

Creazione di database con distinzione tra maiuscole e minuscole

Nella versione SP1 di SQL Server Compact 3.5 la specifica delle regole di confronto con distinzione tra maiuscole e minuscole per i nuovi database è supportata solo tramite le chiamate API.

È possibile utilizzare una nuova proprietà della stringa di connessione di tipo Boolean, ovvero "Case Sensitive" o "SSCE:Case Sensitive", che consente di determinare se le regole di confronto del database rispettano la distinzione tra maiuscole e minuscole. Analogamente, nel set di proprietà DBPROPSET_SSCE_DBINIT è disponibile una nuova proprietà DBPROP_SSCE_DBCASESENSITIVE che consente di determinare se le regole di confronto del database rispettano la distinzione tra maiuscole e minuscole.

Quando si imposta la proprietà Case Sensitive su true, gli indici sulle colonne stringa vengono ricostruiti nel database.

Per specificare regole di confronto per un nuovo database, è possibile inoltre utilizzare la clausola COLLATE (SQL Server Compact) dell'istruzione CREATE DATABASE (SQL Server Compact). In questo caso l'unica opzione disponibile è quella relativa all'assenza della distinzione tra maiuscole e minuscole (CI, Case-Insensitive).

Importante

Se si crea un database con regole di confronto con distinzione tra maiuscole e minuscole, tale database non può essere aperto in alcuna versione precedente di SQL Server Compact, incluso SQL Server Compact 3.5.

Replica di tipo merge e regole di confronto con distinzione tra maiuscole e minuscole

Nei server di pubblicazione SQL Server e nei Sottoscrittori SQL Server Compact è supportata la replica di tipo merge indipendentemente dalle impostazioni relative alla distinzione tra maiuscole e minuscole. Per supportare la compatibilità con le versioni precedenti, non viene bloccato alcuno scenario in modo esplicito.

Nella versione SP1 di SQL Server Compact 3.5 è supportata la replica di database di SQL Server Compact con distinzione tra maiuscole e minuscole a database del server che rispettano o meno la distinzione tra maiuscole e minuscole. Nella tabella seguente vengono descritti tutti gli scenari possibili.

Distinzione tra maiuscole e minuscole nel database client di SQL Server Compact Distinzione tra maiuscole e minuscole nel database di SQL Server Supporto

Senza distinzione tra maiuscole e minuscole

Senza distinzione tra maiuscole e minuscole

Senza distinzione tra maiuscole e minuscole

Con distinzione tra maiuscole e minuscole

Con distinzione tra maiuscole e minuscole

Con distinzione tra maiuscole e minuscole

Con distinzione tra maiuscole e minuscole

Senza distinzione tra maiuscole e minuscole

Per ulteriori informazioni sulla replica di tipo merge, vedere Utilizzo della replica di tipo merge. Per ulteriori informazioni sulla creazione di un database con distinzione tra maiuscole e minuscole tramite l'oggetto Replication, vedere Procedura: Creazione di un database tramite l'oggetto Replication (a livello di programmazione).

Vedere anche

Concetti

Considerazioni sulle funzionalità internazionali (SQL Server Compact)

Guida e informazioni

Assistenza (SQL Server Compact 3.5 Service Pack 1)