FIX: Null Parameter for DTS Lookup Causes MMC to Exit (236068)
The information in this article applies to:
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.
Modification Type: | Major | Last Reviewed: | 3/14/2006 |
---|
Keywords: | kbBug kbfix KB236068 |
---|
|