Data truncated to 255 characters with Excel ODBC driver (189897)
The information in this article applies to:
- Microsoft Office Excel 2003
- Microsoft Excel 2002
- Microsoft Excel 2000
- Microsoft Excel 97 for Windows
This article was previously published under Q189897 Important This article contains information about how to modify the registry. Make sure to back up the registry before you modify it. Make sure that you know how to restore the registry if a problem occurs. For more information about how to back up, restore, and modify the registry, click the following article number to view the article in the Microsoft Knowledge Base: 256986 Description of the Microsoft Windows registry SYMPTOMS
When you retrieve external data using the Microsoft Excel 97 ODBC driver,
fields that have more than 255 characters may be truncated to 255
characters.
CAUSE
Your data may be truncated to 255 characters if the first 8 records for the
field(s) being truncated contain 255 or fewer characters. The Microsoft
Excel ODBC driver will, by default, scan the first 8 rows of your data to
determine the type of data in each column.
Even though you can change the Rows To Scan value in the ODBC Microsoft
Excel Setup dialog box to something higher than 8 (but not higher than 16)
this value is not being used by Excel. The Excel ODBC driver uses the
TypeGuessRows DWORD value of one of the following registry key to determine how
many rows to scan in your data:
- Excel 97
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel - Excel 2000 and later versions
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
RESOLUTION
To change the number of rows that the Excel ODBC driver scans to determine
what type of data you have in your table, change the setting of the
TypeGuessRows DWORD value.
NOTE: The following steps will only work if your source Excel file is saved
in the Microsoft Excel Workbook file format. If it is saved in the
Microsoft Excel 97 & 5.0/95 Workbook file format, the data will always be
truncated to 255 characters.
Warning Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.
For information about how to edit the registry, view the "Changing Keys And
Values" Help topic in Registry Editor (Regedit.exe) or the "Add and Delete
Information in the Registry" and "Edit Registry Data" Help topics in
Regedt32.exe. Note that you should back up the registry before you edit it.
If you are running Windows NT, you should also update your Emergency
Repair Disk (ERD).
To change the setting for the TypeGuessRows value, follow these steps:
- Close any programs that are running.
- On the Start menu, click Run. Type regedit and click OK.
- In the Registry Editor, expand the following key depending on the version of Excel that you are running:
- Excel 97
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\3.5\Engines\Excel - Excel 2000 and later versions
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel
- Select TypeGuessRows and on the Edit menu click Modify.
- In the Edit DWORD Value dialog box, click Decimal under Base. Type a
value between 0 and 16, inclusive, for Value data. Click OK and quit the
Registry Editor.
NOTE: For performance reasons, setting the TypeGuessRows value to zero (0)
is not recommended if your Excel table is very large. When this value is
set to zero, Microsoft Excel will scan all records in your table to
determine the type of data in each column.
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
Modification Type: | Major | Last Reviewed: | 7/21/2005 |
---|
Keywords: | kbbug kbpending KB189897 |
---|
|