1

我必须在 2005 年的 DTS 环境中工作(解释起来太复杂了),并且我有一个逗号分隔的文本文件要附加到主表中。我想将文本文件中的最后一列拉出来作为第一条记录,并将其用作删除命令的选择条件。但是如何在较旧的 DTS 环境中执行此操作?

这是 foobar 数据行

9,36,7890432174,2007-12-17 00:00:00.000,21,15.22,99,11,49,28,2009-07-12 00:00:00

我想要做的是创建一个sql语句,它将删除某个列等于“2009-07-12 00:00:00”的所有记录

谢谢。

4

1 回答 1

2

在 DTS 中至少有两种方法可以实现这一点。

第一个是

  1. 将文本文件加载到临时表中
  2. 从临时表中选择日期值并将其分配给包变量
  3. 使用包变量作为输入参数执行删除
  4. 从临时表插入到主表中
  5. 清理临时表

这假设有某种方法可以从数据中识别文本文件中行的顺序。如果没有,您可以将标识列添加到临时表定义中。

第二个是

  1. 使用脚本任务从输入文件中提取值并将其分配给包变量
  2. 使用包变量作为输入参数执行删除
  3. 从文本文件插入主表

编辑

我相信也可以使用通用文本文件 ODBC 驱动程序来访问像数据库表一样的文本文件。

于 2009-07-14T07:54:44.237 回答