FIX: Null characters may appear in parts of the string that is returned when you use the System.Data.OracleClient.OracleDataReader class to return the results from a query in the .NET Framework 2.0

FIX: Null characters may appear in parts of the string that is returned when you use the System.Data.OracleClient.OracleDataReader class to return the results from a query in the .NET Framework 2.0

Article ID : 948867
Last Review : April 2, 2008
Revision : 1.0
On This Page

SYMPTOMS

In the Microsoft .NET Framework 2.0, you use the System.Data.OracleClient.OracleDataReader class to return the results from a query to a field of the LONG data type in an Oracle 10g database. If the string is longer than 8,162 characters, null characters may appear in parts of the string that is returned.

Back to the top

CAUSE

This problem occurs because of an issue in the System.Data.OracleClient namespace. The System.Data.OracleClient namespace is the managed Oracle data provider. The managed Oracle data provider uses the native Oracle client that is installed on the computer. To read data that is contained in LONG fields, the managed Oracle data provider passes the following to the native Oracle client:

• A callback function
• A pointer to a special unmanaged buffer

The size of the unmanaged buffer is 8 kilobytes (KB). The native Oracle client uses this callback function to write the data in chunks to the unmanaged buffer. In each call to the function, the length of the chunk that is written to the unmanaged buffer is supplied.

The current version of the System.Data.OracleClient namespace incorrectly assumes that all chunk buffers except the last one are completely filled. This assumption is correct only in versions of the Oracle client earlier than version 10g. In Oracle 10g, the buffers before the last one may be only partially filled, and any null bytes at the end of each buffer may be incorrectly read and processed as null characters.

Back to the top

RESOLUTION

Hotfix information

To resolve this problem, install the hotfix that is mentioned in the following article in the Microsoft Knowledge Base:

948815 (/Feedback.aspx?kbNumber=948815/) Availability of the .NET Framework 2.0 post-Service Pack 1 hotfix rollup package for System.Data.dll and System.Data.OracleClient.dll

Prerequisites

You must have the .NET Framework 2.0 Service Pack 1 installed to apply this hotfix.

Restart requirement

You do not have to restart the computer after you apply this hotfix.

Hotfix replacement information

This hotfix does not replace any other hotfixes.

File information

The English version of this hotfix has the file attributes (or later file attributes) that are listed in the following table. The dates and times for these files are listed in Coordinated Universal Time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the Time Zone tab in the Date and Time item in Control Panel.

The .NET Framework 2.0, x86 versions
File name File version File size Date Time Platform
System.data.dll 2.0.50727.1813 2,998,272 04-Feb-2008 20:49 x86
System.data.oracleclient.dll 2.0.50727.1813 484,352 04-Feb-2008 20:49 x86
The .NET Framework 2.0, x64 versions
File name File version File size Date Time Platform
System.data.dll 2.0.50727.1813 2,998,272 04-Feb-2008 20:49 x86
System.data.oracleclient.dll 2.0.50727.1813 484,352 04-Feb-2008 20:49 x86
System.data.dll 2.0.50727.1810 3,113,472 14-Jan-2008 15:36 x64
System.data.oracleclient.dll 2.0.50727.1810 499,712 14-Jan-2008 15:36 x64
The .NET Framework 2.0, Itanium-based versions
File name File version File size Date Time Platform
System.data.dll 2.0.50727.1813 2,998,272 04-Feb-2008 20:49 x86
System.data.oracleclient.dll 2.0.50727.1813 484,352 04-Feb-2008 20:49 x86
System.data.dll 2.0.50727.1813 3,208,192 04-Feb-2008 17:25 IA-64
System.data.oracleclient.dll 2.0.50727.1813 503,808 04-Feb-2008 17:25 IA-64

Back to the top

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the Applies to section.

Back to the top

MORE INFORMATION

For more information about the LONG Oracle data type, visit the following Microsoft Developer Network Web site:

http://msdn2.microsoft.com/en-us/library/yk72thhd.aspx (http://msdn2.microsoft.com/en-us/library/yk72thhd.aspx)

For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 (/Feedback.aspx?kbNumber=824684/) Description of the standard terminology that is used to describe Microsoft software updates

The third-party products that this article discusses are manufactured by companies that are independent of Microsoft. Microsoft makes no warranty, implied or otherwise, about the performance or reliability of these products.

Back to the top


APPLIES TO
• Microsoft .NET Framework 2.0

Back to the top

Keywords: 
kbexpertiseadvanced kbpubtypekc kbqfe kbhotfixserver KB948867

Back to the top

 

Microsoft Knowledge Base Article

This article contents is Microsoft Copyrighted material.
Microsoft Corporation. All rights reserved. Terms of Use | Trademarks


You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

AddThis Social Bookmark Button

Leave a Reply

*
To prove that you're not a bot, enter this code
Anti-Spam Image