BUG: Null Parameter for DTS Lookup Causes MMC to Exit

ID: Q236068


The information in this article applies to:
  • Microsoft SQL Server version 7.0

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 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: January 3, 2000
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.