在我正在进行的一个遗留项目中,我们有几个通过 DTS 执行的处理。DTS 并不是我在鼎盛时期经常使用的东西……我在上大学。
更具体地说,这些过程在 ActiveX 代码块中——基本上是用于数据库的 VBScript。真的很难调试。
无论如何,我想知道是否有任何过去或现在有经验的 DTS 专业人员可以提供有关如何处理调试、故障排除或以其他方式处理DTS 包开发的提示。
这个问题被标记为社区 wiki,我希望对所有类型的 DTS 包实现有通用和有针对性的想法和方法。
在我正在进行的一个遗留项目中,我们有几个通过 DTS 执行的处理。DTS 并不是我在鼎盛时期经常使用的东西……我在上大学。
更具体地说,这些过程在 ActiveX 代码块中——基本上是用于数据库的 VBScript。真的很难调试。
无论如何,我想知道是否有任何过去或现在有经验的 DTS 专业人员可以提供有关如何处理调试、故障排除或以其他方式处理DTS 包开发的提示。
这个问题被标记为社区 wiki,我希望对所有类型的 DTS 包实现有通用和有针对性的想法和方法。
我有一个复杂的 DTS 包,它导入了一些数据、运行了一些批处理脚本、制作了一个 CSV 文件并通过 FTP 上传了结果输出。有时 FTP 进程会失败。
我创建了一个“DTS LOG”表,在每一步之后我只是添加了一个 SQL 插入任务并将时间戳和函数名称写入表中。我试图向我展示任何未完成的过程。
虽然这可能不像您需要的那样精细,但至少您会知道执行过程中的问题所在。
在脚本部分,我使用了 MsgBox 来显示“我到了这里”或“xfer 工作”或任何你想表明发生的事情,但在运行时并不那么明显。
如果您正在测试流程的特定部分,您还可以使用条件语句分支到“结束”。
如果您在使用 DTS 时遇到困难,但同时也在运行 SQL Server 2005 实例,您可能会看到是否无法将 DTS 包升级到 DTSX(SQL Server 集成服务)并在那里重新执行。我知道这不是一个“技巧”,但您在 VS2005 IDE 中工作,可以用 .NET 编写代码,还可以设置断点,这将使“DTS”世界的生活变得更加轻松。
这里也有一些文章:
http://www.databasejournal.com/article.php/1503191
向下滚动,您将看到“SQL Server 2000 DTS”文章。