Microsoft KB Archive/236068

From BetaArchive Wiki
Knowledge Base


FIX: Null Parameter for DTS Lookup Causes MMC to Exit

Article ID: 236068

Article Last Modified on 3/14/2006



APPLIES TO

  • Microsoft SQL Server 7.0 Standard Edition



This article was previously published under Q236068

BUG #: 56011 (SQLBUG_70)
BUG #: 55299 (SQLBUG_70)

SYMPTOMS

When a Data Transformation Services (DTS) package contains a lookup as part of the transformation process and a null parameter value is passed to the Execute method of the lookup, the Microsoft Management Console (MMC) exits with an error.

On a Windows NT system, the error is in the following format:

mmc.exe - Application Error
The instruction at "0xXXXXXXXX" referenced memory at 0xXXXXXXXX".
The memory could not be "read".

Where "0xXXXXXXXX", is a memory address.

On a Windows98 system, the error is as follows:

Microsoft Visual C++ Runtime Library
Runtime Error!
Program: C:\WINDOWS\MMC.EXE
R6025
-pure virtual function call

These errors appear twice and then the MMC terminates.

WORKAROUND

This problem can be avoided by adding a check for NULL values prior to executing the lookup function as follows:

IF isnull(DTSSource("ColumnName")) THEN
    DTSDestination("ColumnName") = "SomeValue"
ELSE
    DTSDestination("ColumnName") = DTSLookups("LookupName").Execute(DTSSource("ColumnName").Value)
END IF
                

STATUS

Microsoft has confirmed this to be a problem in SQL Server 7.0. This problem has been corrected in U.S. Service Pack 2 for Microsoft SQL Server 7.0. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

254561 INF: How to Obtain Service Pack 2 for Microsoft SQL Server 7.0 and Microsoft Data Engine (MSDE) 1.0


For more information, contact your primary support provider.


Additional query words: DTS DTSLookups

Keywords: kbbug kbfix KB236068