Microsoft KB Archive/811444

= Host Integration Server SP1 upgrades DDM SQLAM support to level 5 =

Article ID: 811444

Article Last Modified on 12/4/2007

-

APPLIES TO


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

-



SUMMARY
Host Integration Server 2000 Service Pack 1 (SP1) upgrades the required level of SQL Application Manager (SQLAM) to level 5. This article discusses the details behind this upgrade and possible changes in behavior because of this upgrade.



MORE INFORMATION
The Microsoft OLE DB Provider for DB2 (DB2OLEDB) and ODBC Driver for DB2 use the Distributed Data Management (DDM) protocol to access DB2 database systems. When a DDM client application, such as the DB2OLEDB Provider or the ODBC Driver for DB2, accesses a DB2 database system, the DDM client application passes SQL statements to a SQL Application Manager on the target system for processing. In the initial Exchange Server Attributes (EXCSAT) command that is sent by the DB2OLEDB Provider or ODBC Driver for DB2, the providers include a Manager-Level List (MGRLVLLS) that contains a requested level for the SQLAM on the target system.

In Host Integration Server 2000 base code, the requested SQLAM level that is passed to the target DB2 system is level 3.

Beginning with Host Integration Server 2000 SP1, the DB2OLEDB Provider and ODBC Driver for DB2 request SQLAM level 5.

This change in levels occurs because of the newly added support for retrieving a single result set from a DB2 stored procedure. To add this functionality, Microsoft upgraded the providers to use SQLAM level 5.

As a result of this change, some client applications may behave a little differently. Microsoft has discovered two such changes. However, more may exist. The following are the two known behavioral changes:  IBM iSeries systems that are running OS/400 V4R3 or earlier do not support SQLAM level 5. As a result, applications that use the DB2OLEDB Provider or ODBC Driver for DB2 from Host Integration Server 2000 SP1 systems must be used with OS/400 V4R4 or later.  Some versions of DB2 no longer allow specific COMMIT or ROLLBACK SQL statements to be issued when using SQLAM level 5. For example, with Host Integration Server 2000 base code, an application can do the following: Connection.BeginTrans Connection.Execute (&quot;Insert into TABLE values (111, 'aaa')&quot;) Connection.Execute (&quot;Insert into TABLE values (222, 'bbb')&quot;) Connection.Execute (&quot;COMMIT&quot;) Connection.Execute (&quot;Insert into TABLE values (333, 'ccc')&quot;) Connection.RollbackTrans With Host Integration Server 2000 SP1, an application must do the following to obtain the same result as before: Connection.BeginTrans Connection.Execute (&quot;Insert into TABLE values (111, 'aaa')&quot;) Connection.Execute (&quot;Insert into TABLE values (222, 'bbb')&quot;) Connection.CommitTrans Connection.BeginTrans Connection.Execute (&quot;Insert into TABLE values (333, 'ccc')&quot;) Connection.RollbackTrans With the DB2 system, the user can no longer use explicit COMMIT or ROLLBACK operations between two Transaction contexts. 

