Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

FIX: Error message when you use the BizTalk Adapter for DB2 to call a DB2 stored procedure: "SQLSTATE: 42884, SQLCODE: -440"


View products that this article applies to.

Symptoms

You use the Microsoft BizTalk Adapter for DB2 to call an IBM DB2 stored procedure. When the name of the stored procedure has a number as its second character (for example, E1SPNAME), you receive following error message:
SQLSTATE: 42884
SQLCODE: -440
The SQLSTATE value indicates that no routine was found with the specified name and compatible arguments.
Note This problem can also occur when you use any of the DB2 providers that are included with Microsoft Host Integration Server 2009.

↑ Back to the top


Resolution

The hotfix that resolves this issue is included in Cumulative Update 1 for Host Integration Server 2009.

For more information about how to obtain the cumulative update package, click the following article number to view the article in the Microsoft Knowledge Base:
2587090 Cumulative update package 1 for Host Integration Server 2009

↑ Back to the top


Workaround

To work around this problem, can change name of the DB2 stored procedure so that its second character contains an alphabetical character instead of a number.

↑ Back to the top


Status

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.

↑ Back to the top


More Information

This problem occurs only when one of the Microsoft DB2 providers or the BizTalk Adapter for DB2 sends a two-part name to IBM DB2. For example, the error occurs if the following format is sent to IBM DB2 as the procedure name in the Execute SQL statement (EXCSQLSTT) command:
SCHEMA_NAME.SP_NAME
Note In this format, the placeholder SCHEMA_NAME represents the schema name that you configured in the connection string, and the placeholder SP_NAME represents the name of the DB2 stored procedure.

When only the name of the DB2 stored procedure (that is, a one-part name) is sent to IBM DB2 as the procedure name in the Execute SQL statement (EXCSQLSTT) command, the error does not occur because the correct stored procedure name is sent. For example, the error does not occur when you use a SQL Server linked server to call a DB2 stored procedure by using the Microsoft OLE DB Provider for DB2.

↑ Back to the top


Keywords: kbnotautohotfix, kbqfe, kbfix, kbexpertiseinter, kbsurveynew, kbbug, kberrmsg, kb

↑ Back to the top

Article Info
Article ID : 2590912
Revision : 1
Created on : 1/7/2017
Published on : 9/13/2011
Exists online : False
Views : 388