BUG: DTS Separates the Columns of Text at Invalid Trail Byte of DBCS (312089)



The information in this article applies to:

  • Microsoft SQL Server 2000 (all editions)
  • Microsoft SQL Server 7.0

This article was previously published under Q312089
BUG #: 350830 (SHILOH_BUGS)
BUG #: 100725 (SQLBUG_70)

SYMPTOMS

If you use the Data Transformation Services (DTS) Delimited option to import a text file with double-byte character set (DBCS) characters, DTS may erroneously parse the columns at trailing bytes of DBCS characters.

This problem occurs when all of the following conditions are true:

  • The encoding of the text file is either ANSI or OEM.

  • You use a single-byte character set (SBCS) character as a column delimiter. For example:

    vertical bar ( 0x7c )

  • The trailing byte of a DBCS character matches the character you use as a column delimiter. For example:

    '0x837c' from code page 932 (cp932)

    The trailing byte 0x7c in 0x837c matches the column delimiter 0x7c in the previous bullet item.

CAUSE

DTS mistakenly recognizes the trailing byte of a DBCS character as a column delimiter.

WORKAROUND

To work around this problem either:
  • Use a SBCS character between 0x00 and 0x40 as a column delimiter. For example:

    comma (0x2c), tab (0x09)

    -or-

  • Save import text files in UNICODE encoding instead of ANSI/OEM.

STATUS

Microsoft has confirmed that this is a problem in SQL Server 2000.

Microsoft has confirmed that this is a problem in SQL Server 7.0.

Modification Type:MajorLast Reviewed:10/30/2003
Keywords:kbbug kbpending KB312089