PRB: Problems When DBCS Code Page Is Missing in Windows NT

Last reviewed: April 16, 1997
Article ID: Q167051
The information in this article applies to:
  • Microsoft SQL Server, versions 6.0 and 6.5

SYMPTOMS

If SQL Server was installed with a double-byte character set (DBCS) code page (such as cp-932, cp-936, cp-949, or cp-950) and you used a dictionary order case-insensitive sort order, you may experience either of the following problems when running "use PUBS" or other case-sensitive operations:

  • Msg 911, Level 16, State 2 Attempt to locate entry in Sysdatabases for database 'PUBS' by name failed - no entry found under that name. Make sure that name is entered properly.

    -or-

  • An "Unknown Character Set" error when running "sp_helpsort."

CAUSE

This problem occurs when the specific DBCS code page is not installed on the computer running Windows NT Server.

WORKAROUND

There are two possible workarounds for this problem.

Method One: If you are using Windows NT Server 3.51 or Windows NT Server 4.0, you can add the code page manually.

WARNING: Using Registry Editor incorrectly can cause serious, system-wide problems that may require you to reinstall Windows NT to correct them. Microsoft cannot guarantee that any problems resulting from the use of Registry Editor can be solved. Use this tool at your own risk.

  1. Log on to Windows NT Server to an account with Administrator privilege.

  2. Copy the code page file to the %SystemRoot%\System32 directory.

  3. Start the Registry Editor (Regedt32.exe) and locate the following HKEY_LOCAL_MACHINE subtree:

          System\CurrentControlSet\Control\Nls\CodePage
    

  4. On the Edit menu, click Add Value.

  5. Enter the following values:

          Value Name: <code page number> (for example, 950)
          Data Type: REG_SZ
          String: <code page file name> (for example, C_950.NLS)
    

  6. Locate the following HKEY_LOCAL_MACHINE subtree:

          System\CurrentControlSet\Control\Nls\Language
    

  7. On the Edit menu, click Add Value.

  8. Enter the following values:

          Value Name: <locale-specific code page ID> (for example, 0404 for
          code page 950; see the MORE INFORMATION section of this article)
          Data Type: REG_SZ
          String: l_intl.nls
    

  9. Quit Registry Editor.

  10. Shut down and restart the computer running Windows NT Server.

  11. Rebuild the SQL Server master database with the desired DBCS code page.

Method Two: If you are using Windows NT Server 4.0, you can add a code page by using an .inf script.

  1. Log on to Windows NT Server to an account with Administrator privilege.

  2. Start the Windows NT Explorer.

  3. Insert the Windows NT Server 4.0 compact disc.

  4. In the Langpack directory, locate the .inf file named appropriately for the language.

  5. Right-click the .inf file that you want to add support for.

  6. Click Install on the context menu.

  7. Shut down and restart the computer running Windows NT Server when it has completed adding the language.

  8. Rebuild the SQL Server master database with the desired DBCS code page.

MORE INFORMATION

The following is the locale-specific code page information that is required in method one above:

Locale                   LCID    Code Page

Chinese (PRC)           0x0804     936
Chinese (Taiwan)        0x0404     950
Chinese (Hong Kong)     0x0c04     950
Chinese (Singapore)     0x1004     936
Japanese                0x0411     932
Korean                  0x0412     949


Additional query words: JIS Wansung Johab Hangul KB BIG-5
Keywords : kbenv kbinterop SSrvGen SSrvInst
Version : 6.0 6.5
Platform : WINDOWS
Issue type : kbprb
Resolution Type : kbworkaround


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: April 16, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.