FIX: SQL Server 企业管理器意外退出时修改 DTS 包

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

818540
本文已归档。它按“原样”提供,并且不再更新。
BUG #: 469162 (SQL Server 8.0)
症状
使用 DTS 设计器的图形用户界面在 Microsoft SQL Server 企业管理器中修改现有的数据转换服务 (DTS) 包时在 Mmc.exe,可能会发生访问冲突和 SQL Server 企业管理器可能会意外退出。

您可能还注意到类似于以下 Dr.Watson 日志文件中或在调试器下一个较短的堆栈转储文件:
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
说明 当您使用查询时,就会出现此问题为源的 DTS 包和查询的选择列表包含一个或多个计算的列。
解决方案

服务包信息

若要解决此问题,获得最新的 service pack,对于 Microsoft SQL Server 2000。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290211如何获取最新的 SQL Server 2000 服务包
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。 Microsoft SQL Server 2000 Service Pack 4 中,第一次已得到纠正此问题。
更多信息
当选择列表中的 DTS 源的查询包中包含计算的列,DTS 设计器的图形用户界面中的列设置为 NULL。因此,当试图访问这些列的 DTS 包时,将发生访问冲突。

重现此问题的步骤

  1. 启动 SQL Server 企业管理器。
  2. 在左窗格中展开到所需的 SQL Server 实例的相对应的节点。
  3. 单击 数据转换服务 节点。
  4. 在右窗格中右键单击 本地包,然后单击 新建包
  5. 在 DTS 设计器的图形用户界面中,选择作为连接到 pubs 数据库的 DTS 包的源的 Microsoft OLE DB 提供程序为 SQL Server
  6. 在 DTS 设计器的图形用户界面中,选择 文本文件 (目标) 作为目标的 DTS 包。

    注意按照向导中创建目标文件。
  7. 任务 菜单上单击 转换数据任务,,然后选择为源和为目标的 文本文件SQL Server
  8. 在 DTS 包中双击 转换数据任务
  9. 转换数据任务属性 对话框框中,单击 选项卡上,单击以选中 SQL 查询,然后键入或粘贴在框中的以下查询:
    选择从作者的 au_lname
  10. 单击 目的 选项卡。
  11. 定义列 对话框中单击 从源代码填充,然后单击 执行
  12. 转换 选项卡上单击 全选,然后单击 确定
  13. 菜单上单击 执行
  14. 单击 确定,然后单击 完成
  15. 在 DTS 包中双击 转换数据任务
  16. 转换数据任务属性 对话框单击 选项卡,然后再修改以下查询将现有查询:
    选择从作者 len(au_lname)
  17. 单击 确定

    注意单击 确定 时立即您会收到以下错误消息:
    检测到无效转换。验证,然后重试您的转换。
    单击 确定 以关闭该错误消息。
  18. 验证转换 对话框中请确保选中了 删除无效的转换,然后单击 确定
  19. 转换数据任务属性 对话框单击 目的 选项卡,然后单击 定义列
  20. 定义列 对话框中单击 从源代码填充,然后单击 执行
  21. 转换数据任务属性 对话框单击 目的 选项卡,然后再次单击 定义列
参考
ms03-031 安全更新还解决此问题。ms03-031 安全有关的详细信息更新,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
821277: ms03-031 安全修补程序,SQL Server 2000 Service Pack 3
有关软件更新术语的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

Warning: This article has been translated automatically

属性

文章 ID:818540 - 上次审阅时间:01/17/2015 07:09:00 - 修订版本: 7.2

  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
  • kbnosurvey kbarchive kbmt kbqfe kbquery kbpackage kbupdate kbsqlserv2000presp4fix kbfix kbbug KB818540 KbMtzh
反馈