Microsoft KB Archive/285051

= Commerce Server 2000 Product Catalog Import DTS Task Fails to Import Catalog into Data Warehouse =

Article ID: 285051

Article Last Modified on 10/18/2002

-

APPLIES TO


 * Microsoft Commerce Server 2000 Standard Edition

-



This article was previously published under Q285051



SYMPTOMS
When you run a Commerce Server 2000 Product Catalog Import DTS task, the DTS task will fail, and the following error message will appear in the event log:

Err: DoAsyncFuncCall, exception in async funct, seqID:

This problem can occur when you use either a partial or a complete import into a Data Warehouse that was previously created or modified with the RC0 version of Commerce Server 2000. This error is known to also occur during the operation of the Commerce Server 2000 User Profile and Web Server Log Import DTS tasks.



CAUSE
In the Data Warehouse stored procedures that begin with SPIL_, the following IF statement appears: IF(@@rowcount = 0) When this statement is processed with Commerce Server 2000, the DTS task will fail, and the error message that is mentioned in the &quot;Symptoms&quot; section will appear in the event log.



RESOLUTION
Delete the current Data Warehouse resource, and the re-create it by using any post-RC0 version of Commerce Server 2000. Alternatively, you can edit the stored procedures to replace the problem code (see the &quot;More Information&quot; section of this article).



STATUS
This problem has been resolved in the post-RC0 versions of Commerce Server 2000.



MORE INFORMATION
IMPORTANT: Use caution when modifying SQL stored procedures. Microsoft recommends seeking assistance from your Database Administrator. Also, see &quot;How to Modify a Stored Procedure (Enterprise Manager)&quot; in the SQL Online Books.

If you want to resolve this bug by modifying the SPIL_ stored procedures, replace the following code in all of the SPIL_ stored procedures.

Original Code: SELECT * FROM ... WHERE [xxx]... IF(@@rowcount = 0) New Code:

IF NOT EXISTS (SELECT [xxx] FROM ... WHERE [xxx]...) where [xxx] is the first column referenced in the WHERE clause.

For example:

Original code the in stored procedure:

SELECT * FROM [LinkValRegisteredUserproduct_interest] WHERE (([RegisteredUserID]=@instID) AND ([product_interestVID]=@valID)) IF(@@rowcount = 0) New code in the stored procedure:

IF NOT EXISTS (SELECT [RegisteredUserID] FROM [LinkValRegisteredUserproduct_interest] WHERE (([RegisteredUserID]=@instID) AND ([product_interestVID]=@valID)) )

Keywords: kberrmsg kbbug kbpending KB285051

-

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

© Microsoft Corporation. All rights reserved.