Partager via


Utilisation des classements (SQL Server Compact)

Les classements spécifient les règles de tri et de comparaison des chaînes de données de caractères, selon les normes des différentes langues et options régionales.

SQL Server Compact assure la prise en charge des classements Windows. Pour obtenir une liste des noms de classements Windows pris en charge dans SQL Server Compact, consultez Classements pris en charge (SQL Server Compact).  

À compter de la version SQL Server Compact 3.5 Service Pack 1 (SP1), SQL Server Compact prend en charge les classements qui respectent la casse. Le respect de la casse est défini au niveau de la base de données. Autrement dit, toutes les colonnes de chaînes (colonnes de types de données nchar, nvarchar, et ntext) dans les tables utilisateur de la base de données ont le même paramètre de respect de la casse que celui spécifié au niveau de la base de données. De plus, les index sur les colonnes de chaînes ont le même paramètre de respect de la casse que celui spécifié au niveau de la base de données.

Les noms d'objets, tels que les noms de tables, les mots clés de langage, les fonctions et les affichages, ne sont pas traités comme respectant la casse dans SQL Server Compact, même si le classement respecte la casse. Cette fonctionnalité n'est pas cohérente avec SQL Server, mais ce comportement est cohérent avec la norme SQL spécifiant que le classement d'une base de données est utilisé uniquement à des fins de comparaison des données utilisateur.

Connexion aux bases de données qui respectent la casse

Vous pouvez vous connecter à une base de données SQL Server Compact qui respecte la casse comme à toute autre base de données SQL Server Compact.

À compter de la version SQL Server Compact 3.5 SP1, SQL Server Compact assure la prise en charge d'une nouvelle propriété de chaîne de connexion Boolean, « Case Sensitive » ou « SSCE:Case Sensitive », afin de déterminer si le classement de base de données respecte la casse. Si vous tentez de vous connecter à une base de données SQL Server Compact existante avec une propriété « Case Sensitive » dans la chaîne de connexion, SQL Server Compact 3.5 SP1 ignore ce paramètre. Autrement dit, la propriété « Case Sensitive » est une option de base de données au moment de la création qui est ignorée lors de la connexion à une base de données existante. Si vous ne spécifiez pas le paramètre de respect de la casse lors de la création d'une base de données, une base de données qui ne respecte pas la casse est créée par défaut.

La propriété « Case Sensitive » est une nouvelle fonctionnalité de SQL Server Compact 3.5 SP1 qui n'est pas prise en charge dans les versions antérieures.

Création de bases de données qui respectent la casse

SQL Server Compact prend en charge la spécification de classements qui respectent la casse pour les nouvelles bases de données uniquement par le biais des appels d'API. Cette fonctionnalité est uniquement prise en charge par SQL Server Compact 3.5 SP1 et les versions ultérieures.

Vous pouvez utiliser la nouvelle propriété de chaîne de connexion Boolean, « Case Sensitive » ou « SSCE:Case Sensitive », afin de déterminer si le classement de base de données respecte la casse. Pour la programmation native, une nouvelle propriété DBPROP_SSCE_DBCASESENSITIVE faisant partie du jeu de propriétés DBPROPSET_SSCE_DBINIT détermine si le classement de base de données respecte la casse.

Lorsque vous affectez la valeur True à « Case Sensitive », les index sur les colonnes de chaînes sont recréés dans la base de données.

Vous pouvez également spécifier le classement pour une nouvelle base de données à l'aide de la clause COLLATE (SQL Server Compact) de l'instruction CREATE DATABASE (SQL Server Compact). Toutefois, dans ce cas, l'option de non-respect de la casse est l'unique option prise en charge.

Important

Si vous créez une base de données avec un classement qui respecte la casse, cette base de données ne peut pas être ouverte par une version antérieure de SQL Server Compact, y compris SQL Server Compact 3.5.

Réplication de fusion et classements qui respectent la casse

Les serveurs de publication SQL Server et les Abonnés SQL Server Compact prennent en charge la réplication de fusion, quels que soient les paramètres de respect de la casse. Pour des raisons de compatibilité descendante, aucun scénario n'est bloqué explicitement.

La version SP1 de SQL Server Compact 3.5 prend en charge la réplication des bases de données SQL Server Compact qui respectent la casse contre des bases de données de serveur respectant la casse et ne respectant pas la casse. Le tableau suivant décrit tous les scénarios possibles :

Paramètre de respect de la casse de la base de données cliente SQL Server Compact

Respect de la casse de la base de données SQL Server

Pris en charge

CI (non-respect de la casse)

CI

Oui

CI

CS (respect de la casse)

Oui

CS

CS

Oui

CS

CI

Oui

Pour plus d'informations sur la réplication de fusion, consultez Utilisation de la réplication de fusion. Pour plus d'informations sur la création d'une base de données avec respect de la casse à l'aide de l'objet Replication, consultez Procédure : créer une base de données à l'aide de l'objet Replication (par programme).

Voir aussi

Autres ressources

Observations à caractère international (SQL Server Compact)