BUG: 'Errors occurred' Results When Converting OS/390 Signed Zoned Decimal Field (216879)



The information in this article applies to:

  • Microsoft OLE DB Provider for AS/400 and VSAM 1.0
  • Microsoft OLE DB Provider for AS/400 and VSAM 4.0 SP2

This article was previously published under Q216879

SYMPTOMS

Using Microsoft OLEDB Provider for AS/400 and VSAM, a zoned decimal type on an OS/390 host may not be converted correctly to either string, numeric, or decimal automation types on the client. The following information is contained in the err structure:

Source: Provider
Number: -2147217887 (0x80040E21)
Description: Errors occurred

The zoned decimal type is determined in the Host Column Description (HCD) file using the product's Microsoft Management Console snap-in for administration. To specify the zoned decimal type for a particular host column, its 'Host Type' property is set to 'Zoned'.

If the low order byte of the host variable indicates a "+" or "-" sign, data conversion fails.

If the low order byte indicates no sign, that is, the absolute value, conversion works correctly.

WORKAROUND

Use 'Character' instead of 'Zoned' for the 'Host Type' property. Specify the automation type as 'DBTYPE_STR'. Determine the sign and value of the low order byte programatically.

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.

Modification Type:MinorLast Reviewed:11/24/2004
Keywords:kbbug kbpending KB216879