Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

Error message when you try to import .ldf files on a computer that is running Windows Server 2003 with Service Pack 1: "Add error on line LineNumber: No such object"


View products that this article applies to.

Symptoms

When objects on a computer are deleted or become corrupted, you may have to restore the computer by using a system state backup that contains the Active Directory database. You may then have to use the Ntdsutil.exe tool to mark the restored versions of these objects as authoritative.

On a domain controller that is running Windows Server 2003 with Service Pack 1 (SP1), the Ntdsutil tool writes back links for the objects that are restored authoritatively into .ldf files. The objects that are restored may be in several naming contexts.

When you try to import .ldf files into the target naming contexts (NCs), the import fails. Additionally, you may receive an error message that is similar to the following:
Loading entries.
Add error on line LineNumber: No such object
The server side error is: "Directory object not found."
Note In this error message, LineNumber is a placeholder for the line number.

↑ Back to the top


Cause

The Ntdsutil tool tries to write files that are encoded in ASCII. However, this process fails to encode the object names in base64 format if the names contain characters that are in the upper ASCII range.

Note Characters that are in the upper ASCII range are characters that have a character code that is between 128 and 255.

↑ Back to the top


Workaround

To work around this problem, follow these steps:
  1. Open the affected .ldf file by using an editor that supports reading ASCII files or DOS files.

    Note Microsoft Visual Studio and WordPad are editors that are known to support reading ASCII files and to support writing Unicode.
  2. Locate the line where the problem is reported.
  3. Find the line that includes characters that are in the upper ASCII range. Delete the objects in the file that appear before this line. Then, save the file under new name by using Unicode encoding.

    Note The objects in the file that appear before the affected line are already imported successfully.
  4. Import the file that you saved in step 3 by using the ldifde command together with the -u parameter (ldifde -u). To avoid more errors, you can proactively process faulty object names in .ldf files by using this workaround.

    Note Make sure that you do not use characters in your object names that map to multiple ASCII code pages that differ from the code page that you use to read the ASCII file. If you do use these characters, the import errors will persist after you save the files by using Unicode encoding. You must also locate the line and manually correct the errors.

↑ Back to the top


Keywords: KB910823, kbprb, kberrmsg, kbtshoot

↑ Back to the top

Article Info
Article ID : 910823
Revision : 4
Created on : 10/11/2007
Published on : 10/11/2007
Exists online : False
Views : 237