1

我正在使用具有 175 个不同 excel 模板的客户端来创建我需要导入 SQL 2008 R2 的工作表。有一个可取之处,模板中有 10 列是所有 175 列共有的,它们也是我需要导入到我的 SQL 表中的列。这是我的问题:如果我只将所有工作表共有的列映射到数据库表,SSIS 会忽略其他列还是需要以某种方式对这些额外的列做些什么?

我开发了一个模板供用户使用,但显然除了我正在执行的导入之外,他们还需要为其他应用程序提供这些其他列。

我当前的 SSIS 流程有一个准备 SQL 任务来创建 SQL 表,然后是一个映射 Excel 工作表列的数据流任务和一个获取映射列并更新表的导入任务。

我的猜测是,如果我只使用我需要的列创建表,调整 Excel 映射以仅选择表中可用的列,导入只会移动这些列,因此,我将拥有我需要的无论使用哪个模板。

有没有人做过这样的事情?这个过程是大约 6 个月的权宜之计,直到新系统可用,它将在两个系统之间共享此数据。

提前感谢任何输入。

4

1 回答 1

1

如果您可以使用 SQL 语句从 Excel 表/范围/工作表中进行选择,那么您应该能够通过仅选择所需的列来使表与 SSIS 一致。

但是,此 select 语句需要知道范围或工作表的名称,因此需要保持一致。

如果这是不可能的,我建议您创建一个脚本来打开 Excel 文件并删除所有不需要的列。如果一切都不正确或没有防御性地编写,本课程可能会崩溃。

于 2013-04-10T03:24:07.017 回答