Try OpenEdge Now
skip to main content
DataServer for Microsoft SQL Server
Initial Programming Considerations : Database design issues : Code pages : Code page, collation, and case conflicts
 
Code page, collation, and case conflicts
How you specify code page, case sensitivity, and shadow column usage can lead to conflict between the attributes. It is best to establish the settings on these attributes prior to schema creation, and allow the schema pull to manage the integration into the schema image. The following table describes the behavior of the combinations.
Table 7. Case sensitivity interactions
Code Page1
Shadow Columns
Case Sensitive Field Attribute
Result
CS
Yes
Off
Shadow column provides case insensitivity
CS
No
Off
UPPER() function provides case insensitivity2
CS
Yes
On
Code page provides case sensitivity
CS
No
On
Code page provides case sensitivity
CI
Yes
Off3 (Is case-insensitive)
Shadow column provides case insensitivity4
CI
No
Off (Is case-insensitive)
Code page provides case insensitivity
CI
Yes
On
Code page provides case insensitivity5
CI
No
On
Code page provides case insensitivity6

1 The MS SQL Server code page is either Case Sensitive (CS) or Case Insensitive (CI).

2 Be aware that relying on the UPPER() function can have a negative performance impact.

3 This combination is not recommended. Don't use shadow columns if the MS SQL Server code page can handle case-insensitivity instead.

4 This combination is not recommended. Use a code page to support case insensitivity by identifying the code page as case insensitive on a schema pull. Fields will be marked case insensitive on the pull.

5 Shadow columns are present, but play no role.

6 Case sensitivity cannot be supported by OpenEdge. The client will throw out any results not returned in case insensitive order.