Rediger

Del via


DSCT01000: Identifier is case-sensitive and may cause issues, if target database is not using CS collation (Warning)

This article covers the reason why Database Schema Conversion Toolkit may produce identifier collision in converted code.

Background

Databases may be configured to allow identifiers that are only different in case to be considered different, for example foo vs FOO. In case source database respects the casing of the identifier names, target database should be configured in the same way. If Database Schema Conversion Toolkit encounters an identifier where case matters, but target database is not configured to respect the casing, then DSCT01000 warning message is produced.

Example

Consider the below definition of the Oracle table:

CREATE TABLE "foo"
(
    ID INT
)

In this case, a table will be named lower-case foo and will be considered different to an unquoted name foo or an upper-case FOO. When Database Schema Conversion Toolkit encounters such identifiers, a warning message is produced.

Possible remedies

To eliminate these warnings, consider changing the collation of the target database to case-sensitive. Alternatively, you can review all instances of the warning message to make sure such identifiers will not produce undesired side-effects when used within case-insensitive database.