This article was previously published under Q236068
This article has been archived. It is offered "as is" and will no longer be updated.
BUG #: 56011 (SQLBUG_70) BUG #: 55299 (SQLBUG_70)
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.
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
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.