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 translations Article translations
Article ID: 948867 - View products that this article applies to.
Expand all | Collapse all

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.

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.

RESOLUTION

Hotfix information

To resolve this problem, install the hotfix that is mentioned in the following article in the Microsoft Knowledge Base:
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
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
System.data.dll2.0.50727.18132,998,27204-Feb-200820:49x86
System.data.oracleclient.dll2.0.50727.1813484,35204-Feb-200820:49x86
The .NET Framework 2.0, x64 versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
System.data.dll2.0.50727.18132,998,27204-Feb-200820:49x86
System.data.oracleclient.dll2.0.50727.1813484,35204-Feb-200820:49x86
System.data.dll2.0.50727.18103,113,47214-Jan-200815:36x64
System.data.oracleclient.dll2.0.50727.1810499,71214-Jan-200815:36x64
The .NET Framework 2.0, Itanium-based versions
Collapse this tableExpand this table
File nameFile versionFile sizeDateTimePlatform
System.data.dll2.0.50727.18132,998,27204-Feb-200820:49x86
System.data.oracleclient.dll2.0.50727.1813484,35204-Feb-200820:49x86
System.data.dll2.0.50727.18133,208,19204-Feb-200817:25IA-64
System.data.oracleclient.dll2.0.50727.1813503,80804-Feb-200817:25IA-64

STATUS

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

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
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
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.

Properties

Article ID: 948867 - Last Review: October 8, 2011 - Revision: 2.0
APPLIES TO
  • Microsoft .NET Framework 2.0
Keywords: 
kbexpertiseadvanced kbqfe KB948867

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com