Exchange 5.5 has the ability to import or export its directory listings as CSV (comma-separated value) files, which can then be re-imported into another Exchange server. However, occasionally a user reports that the CSV import doesn't work, with peculiar symptoms: the import begins, then reports an error after the first several rows or so. Successive attempts to import the rest of the CSV work in the same fashion, with only a certain number of rows at a time being importable. Why?
The answer does not lie so much with Exchange's CSV import function as it does with the way Excel prepares certain CSV files, because Excel is often used to prepare the CSV file. But the data fed to Excel often has a final empty column, the data column labeled "Hide from AB," and it usually turns up as a null. This null column is left off when a CSV is written, and this throws off the number of cells in each row, making the CSV import filter choke. The number of columns often dictates how many rows in the CSV importer gags -- if you have 18 columns, it'll import 18 rows at a time and then stop.
Fortunately this is easy to fix. Since the actual order of the columns is not important, you can arrange things so a non-null column is last. Alternatively, you can substitute a zero value for the nulls in the "Hide from AB" column, which has exactly the same effect. Finally, you don't have to use Excel to export CSVs, even if it is usually the most common tool for the job. For example, in importing from another organization's Exchange directories, you can just export from that server's directory list.
Another sometimes-overlooked element is the proper column header row. The CSV importer can't deal with a file that has no header row, or a mangled one. You can find a sample column header row in the Exchange Resource Kit, or see this article for more information.
Serdar Yegulalp is the editor of the Windows 2000 Power Users Newsletter.