Microsoft KB Archive/818540

From BetaArchive Wiki

Article ID: 818540

Article Last Modified on 11/2/2007



APPLIES TO

  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit



BUG #: 469162 (SQL Server 8.0)

SYMPTOMS

When you modify an existing Data Transformation Services (DTS) package by using the DTS designer graphical user interface in Microsoft SQL Server Enterprise Manager, an access violation may occur in Mmc.exe, and SQL Server Enterprise Manager may unexpectedly quit.

You may also notice a short stack dump file that is similar to the following in Dr. Watson log files or under a debugger:

00 0006cdc0 4171b39e MSVCRT!wcscpy+0x9 [wcscat.c @ 77]
01 0006d4bc 4171acf8 dtsui!CDTSCreateFileTableDlg::PopulateDataControl+0x65e [..\src\creattbl.cpp @ 374]
02 0006d508 42083308 dtsui!CDTSCreateFileTableDlg::OnInitDialog+0x22c [..\src\creattbl.cpp @ 243]
03 0006d514 42083e2f SEMSFC!SDialog::DoInitDialog+0x1b [p:\sql\starfter\SFC\src\sfcdlg.cpp @ 104]
04 0006d528 4171c58b SEMSFC!SDialog::Proc+0x20 [p:\sql\starfter\SFC\src\sfcdlg.cpp @ 564]
05 0006d540 4209042c dtsui!CDTSCreateFileTableDlg::Proc+0x186 [..\src\creattbl.cpp @ 733]
06 0006d568 77e3a244 SEMSFC!SFCWndProc+0x183 [p:\sql\starfter\SFC\src\sfcwnd.cpp @ 71]
07 0006d588 77e28b4b USER32!UserCallWinProc+0x18 [..\i386\callproc.asm @ 100]
08 0006d5c4 77e39664 USER32!DefDlgProcWorker+0xbf [D:\nt\private\ntos\w32\ntuser\client\dlgmgr.c @ 508]
09 0006d5dc 77e3a244 USER32!DefDlgProcW+0x21 [D:\nt\private\ntos\w32\ntuser\client\dlgmgr.c @ 1012]
0a 0006d5fc 77e16b21 USER32!UserCallWinProc+0x18 [..\i386\callproc.asm @ 100]
0b 0006d620 77e24f4a USER32!CallWindowProcAorW+0x94 [D:\nt\private\ntos\w32\ntuser\client\clmsg.c @ 1446]
0c 0006d640 7700a108 USER32!CallWindowProcW+0x19 [D:\nt\private\ntos\w32\ntuser\client\clmsg.c @ 1465]
0d 0006d6b4 77e3a244 MFC42u!_AfxActivationWndProc+0x81 [wincore.cpp @ 405]
0e 0006d6d4 77e16362 USER32!UserCallWinProc+0x18 [..\i386\callproc.asm @ 100]
0f 0006d704 77e29c20 USER32!SendMessageWorker+0x31f [D:\nt\private\ntos\w32\ntuser\client\clmsg.c @ 477]
10 0006d7bc 77e2caa8 USER32!InternalCreateDialog+0x991 [D:\nt\private\ntos\w32\ntuser\client\dlgbegin.c @ 1317]
11 0006d7e0 77e3ea3e USER32!CreateDialogIndirectParamAorW+0x31 [D:\nt\private\ntos\w32\ntuser\client\clres.c @ 856]
12 0006d800 410996d7 USER32!CreateDialogIndirectParamW+0x19 [D:\nt\private\ntos\w32\ntuser\client\clres.c @ 824]
13 0006d820 42083744 SQLUNIRL!CreateDialogIndirectParam+0x27

Note This problem occurs when you use a query as the source of the DTS package and the select list of the query contains one or more calculated columns.

RESOLUTION

Service pack information

To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For more information, click the following article number to view the article in the Microsoft Knowledge Base:

290211 How to obtain the latest SQL Server 2000 service pack


STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.

MORE INFORMATION

When the select list of a query in the source of the DTS package contains calculated columns, the columns in the DTS designer graphical user interface are set to NULL. Therefore, an access violation occurs when the DTS package tries to access these columns.

Steps to reproduce the problem

  1. Start SQL Server Enterprise Manager.
  2. In the left pane, expand the node that corresponds to the instance of SQL Server that you want.
  3. Click the Data Transformation Services node.
  4. In the right pane, right-click Local Packages, and then click New Package.
  5. In the DTS designer graphical user interface, select Microsoft OLE DB Provider for SQL Server as the source of the DTS package that connects to the pubs database.
  6. In the DTS designer graphical user interface, select Text File (Destination) as the destination of the DTS package.

    Note Follow the instructions in the wizard to create the destination text file.
  7. On the Task menu, click Transform Data Task, and then select SQL Server as the source and Text File as the destination.
  8. In the DTS package, double-click Transform Data Task.
  9. In the Transform Data Task Properties dialog box, click the Source tab, click to select SQL query, and then type or paste the following query in the box:

    Select au_lname from authors

  10. Click the Destination tab.
  11. In the Define Columns dialog box, click Populate from Source, and then click Execute.
  12. On the Transformations tab, click Select All, and then click OK.
  13. On the Package menu, click Execute.
  14. Click OK, and then click Done.
  15. In the DTS package, double-click Transform Data Task.
  16. In the Transform Data Task Properties dialog box, click the Source tab, and then modify the existing query to the following query:

    Select len(au_lname) from authors

  17. Click OK.

    Note As soon as you click OK, you receive the following error message:

    Invalid transformations detected. Verify and retry your transformations.

    Click OK to dismiss the error message.
  18. In the Verifying Transformations dialog box, make sure that Remove invalid transformations is selected, and then click OK.
  19. In the Transform Data Task Properties dialog box, click the Destination tab, and then click Define Columns.
  20. In the Define Columns dialog box, click Populate from Source, and then click Execute.
  21. In the Transform Data Task Properties dialog box, click the Destination tab, and then click Define Columns again.


REFERENCES

The MS03-031 security update also fixes this problem. For more information about the MS03-031 security update, click the following article number to view the article in the Microsoft Knowledge Base:

821277 MS03-031: Security patch for SQL Server 2000 Service Pack 3


For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:

824684 Description of the standard terminology that is used to describe Microsoft software updates


Keywords: kbbug kbfix kbpackage kbqfe kbsqlserv2000presp4fix kbquery kbupdate KB818540