如何使用 SQL 服务器集成服务评估存储在 excel 列中的 sql 字符串?

How to evaluate a sql string stored in excel column using SQL Server Integration Services?

我知道如何将数据从 excel 列插入到 table(我遵循了一个非常基础的教程,使用 excel 源、数据转换和 ole db 目标)。

但我的问题有点复杂,我有 ~ 100 excel 个文件,其中在 E 列中存储了一个 SQL 使用 =concatenate("insert into same table (", If(B2 > ...), C2 , ")";

创建的字符串

使用集成服务我想执行每个 excel 文件的 E 列值。

|A   |B   |C        |D   |E                          |
|Juan| 200| 'Activo'| ...|'insert into sometable ...'

如何实现?

您可能需要确保列 E 有一个 header。在 for each 循环容器中,只需提取 1 列(包含您的查询)并将其存储在字符串变量中。现在在这个 For Each 循环容器中,放入一个 Execute SQL Task 并使用 Dynamic SQL 来执行查询。需要注意的是,一旦包失败,您将需要知道它失败的语句是什么,这样您就不必重复整个过程。如果有任何虚假值,您的数据库将被炸毁。