Microsoft KB Archive/833640

= FIX: Table fields may be created as null when you use the OLE DB Provider for DB2 (DB2OLEDB) in Host Integration Server 2000 against SQL Server =

Article ID: 833640

Article Last Modified on 7/14/2005

-

APPLIES TO


 * Microsoft Host Integration Server 2000 Standard Edition
 * Microsoft Host Integration Server 2000 Service Pack 1

-





SYMPTOMS
When you use the Microsoft OLE DB Provider for DB2 (DB2OLEDB) in Microsoft Host Integration Server 2000 against Microsoft SQL Server, table fields may be incorrectly created as null.



CAUSE
DB2OLEDB and SQL Server compute the nullability of a table field at different times during query execution, and this behavior can cause conflicts in how fields are represented through a SQL Server linked server to DB2OLEDB. When you use a SQL Server linked server, a query that runs against a remote computer is first prepared to gather metadata, such as the nullability of table fields. SQL Server uses this metadata when it processes the remaining queries. However, DB2OLEDB permits this metadata to change between the time that the remote query is prepared and the time that the remote query is executed. In certain cases, a DB2OLEDB query can report the nullability of a table field as &quot;NULLABLE&quot; at prepare time, but when the query is executed, the nullability can change to &quot;NOT NULLABLE.&quot; This behavior causes SQL Server to report an error or to potentially create a table field that has incorrect nullability.



Service pack information
To resolve this problem, obtain the latest service pack for Microsoft Host Integration Server 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

328152 How to obtain the latest service pack for Host Integration Server 2000

Hotfix 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 tool in Control Panel.   Date         Time   Version    Size     File name 31-Mar-2004 17:43  5.0.0.975  311,568  Crtpkg.dll 31-Mar-2004 17:42  5.0.0.975  688,400  Db2oledb.dll 31-Mar-2004 17:42  5.0.0.975   53,552  Ddmstr.dll 31-Mar-2004 17:42  5.0.0.975   78,096  Mseidb2c.dll 31-Mar-2004 17:42  5.0.0.975  889,104  Mseidb2d.dll 31-Mar-2004 17:42  5.0.0.975   24,848  Mseidpm.dll 31-Mar-2004 17:42  5.0.0.975  266,512  Mseidrda.dll 31-Mar-2004 17:42  5.0.0.975  147,728  Mseidt.dll 31-Mar-2004 17:43  5.0.0.975   65,808  Crtpkg.exe 31-Mar-2004 17:43  5.0.0.975   82,192  Ddmserv.exe

Note Because of file dependencies, the most recent fix that contains these files may also contain additional files.



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

This problem was corrected in Microsoft Host Integration Server 2000 Service Pack 2.



MORE INFORMATION
After you apply this hotfix, a new Full Prepare flag that uses only the early descriptor is available. For example, you can use the new flag in the following way: Property Name: Full Prepare or FullPrepare Values: True/False Default Value: False Data Links: Add to the &quot;Extended Propeties&quot; item: Full Prepare=True SQL Server Linked Server: Add as part of the &quot;Provider String&quot;: Full Prepare=True (do not add as an &quot;Extended Properties&quot; item because these items are ignored when they are used with SQL Server).

Keywords: kbbug kbfix kbhostintegserv2000presp2fix kbqfe KB833640

-

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

© Microsoft Corporation. All rights reserved.