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 "NULLABLE" at prepare time, but when the query is executed, the nullability can change to "NOT NULLABLE." This behavior causes SQL Server to report an error or to potentially create a table field that has incorrect nullability.
RESOLUTION
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 "Applies to" 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 "Extended Propeties" item: Full Prepare=True SQL Server Linked Server: Add as part of the "Provider String": Full Prepare=True (do not add as an "Extended Properties" item because these items are ignored when they are used with SQL Server).
Keywords: kbbug kbfix kbhostintegserv2000presp2fix kbqfe KB833640