Microsoft KB Archive/930519

= FIX: The DELETE statement does not delete the matching rows in the IBM DB2 table when an SSIS package uses Microsoft OLE DB Provider for DB2 =

Article ID: 930519

Article Last Modified on 12/4/2007

-

APPLIES TO


 * Microsoft OLE DB Provider for DB2
 * Microsoft Host Integration Server 2006
 * Microsoft Host Integration Server 2004 Enterprise Edition
 * Microsoft Host Integration Server 2004 Standard Edition

-



SYMPTOMS
Consider the following scenario:
 * A Microsoft SQL Server 2005 Integration Services (SSIS) package uses Microsoft OLE DB Provider for DB2 to connect to an IBM DB2 database.
 * A DELETE statement is part of the SSIS package.
 * The DELETE statement contains a parameter that is defined as the CHAR data type.

In this scenario, the DELETE statement does not delete the matching rows in the IBM DB2 table when you run the DELETE statement.

For example, the following DELETE statement does not delete the matching rows in the IBM DB2 table when this statement is part of the SSIS package. DELETE FROM DB2_Test.Table1 WHERE COLUMN_1 = ? AND COLUMN_2 = ? Notes
 * In this statement, the COLUMN_1 parameter is defined as an INTEGER data type. The COLUMN_2 parameter is defined as a CHAR data type.
 * A DELETE statement successfully deletes the matching rows in the IBM DB2 table if the WHERE clause does not contain any parameters that are defined as the CHAR data type.
 * When this problem occurs, you do not receive an error message. The only result is that the expected rows of data are not deleted from the IBM DB2 table.



CAUSE
The SSIS command transformation process does not bind the length of parameters that are defined as the CHAR data type. Instead, SSIS expects the data provider to derive the length of these parameters. However, OLE DB Provider for DB2 does not derive the length of these parameters. When these parameters are passed to IBM DB2, these parameters have NULL values. Therefore, no matching rows are identified when IBM DB2 processes the DELETE statement.



Microsoft OLE DB Provider for DB2 version 1.0
A supported hotfix is now available from Microsoft. However, this hotfix is intended to correct only the problem that is described in this article. Apply this hotfix only to systems that are experiencing this specific problem. This hotfix might receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next service pack that contains this hotfix.

To resolve this problem, submit a request to Microsoft Online Customer Services to obtain the hotfix. To submit an online request to obtain the hotfix, visit the following Microsoft Web site:

http://go.microsoft.com/?linkid=6294451

Note If additional issues occur or any troubleshooting is required, you might have to create a separate service request. The usual support costs will apply to additional support questions and issues that do not qualify for this specific hotfix. To create a separate service request, visit the following Microsoft Web site:

http://support.microsoft.com/contactus/?ws=support

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.

64-bit (x64) version
Note Because of file dependencies, the most recent hotfix that contains these files may also contain additional files.

Microsoft Host Integration Server 2006
A hotfix is currently not available for Host Integration Server 2006.

Microsoft Host Integration Server 2004
A hotfix is currently not available for Host Integration Server 2004.



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



MORE INFORMATION
This hotfix updates OLE DB Provider for DB2 1.0. Therefore, OLE DB Provider for DB2 1.0 correctly derives the length of the parameters that are defined as the CHAR data type when they are included in an SQL statement that is part of an SSIS package.

For more information, 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.

Keywords: kbbug kbfix kbqfe kbpubtypekc kbhotfixserver KB930519

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.