BUG: Null Parameter for DTS Lookup Causes MMC to Exit

ID: Q236068


The information in this article applies to:

BUG #: 56011 (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 will be in the following format:

mmc.exe - Application Error
The instruction at "0xXXXXXXXX" referenced memory at 0xXXXXXXXX".
The memory could not be "read".
Where "0xXXXXXXXX", will be a memory address.

On a Windows98 system, the error will be as follows:
Microsoft Visual C++ Runtime Library
Runtime Error!
Program: C:\WINDOWS\MMC.EXE
R6025
-pure virtual function call
These errors will appear twice and then the MMC will terminate.


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 version 7.0.

Additional query words: DTS DTSLookups


Keywords          : SSrvTrans kbbug7.00 kbSQLServ700bug 
Version           : winnt:7.0
Platform          : winnt 
Issue type        : kbbug 

Last Reviewed: July 20, 1999